摘要
该函数将十六进制字符串转换成二进制数据。将参数2(转换源缓冲器)中的十六进制整数文本转换成整数并将它保存在参数1(转换结果地址)中。
格式
_hexasc2bin(转换结果地址, 转换源缓冲器)
参数1:内部寄存器、临时地址
参数2:数据缓冲器
表达式示例1(当数据长度为16位时)
_hexasc2bin ([w:[#INTERNAL]LS0100], databuf0)
"databuf0"的内容如下:
上面的数据转换如下。
表达式示例2(当数据长度为32位时)
_hexasc2bin ([w:[#INTERNAL]LS0100], databuf0)
"databuf0"的内容如下:
上面的数据转换如下。
当转换字符串大于16位或32时会发生错误。
例如,当脚本的位长度是 16 位时:
_strset (databuf0, "123456")
_hexasc2bin ([w:[#INTERNAL]LS0100], databuf0)
当执行了上面的表达式时,字符串错误状态[e:STR_ERR_STAT]的错误编号2(字符串转换错误)将生成。
在转换包含非“0”至“9”、“A”至“F”或“a”至“f”字符的数据字符串时会发生错误。
例如,当脚本的位长度是 16 位时:
_strset (databuf0, "123G")
_hexasc2bin ([w:[#INTERNAL]LS0100], databuf0)
当执行了上面的表达式时,字符串错误状态[e:STR_ERR_STAT]的错误编号2(字符串转换错误)将生成。
当发生错误并返回到主函数开始的地方时,该处理终止。(如果在函数运行时出现该命令,它就返回到调用该函数的行。)