在labview中我试图将十六进制字符串转换为ascii格式。例如,如果我有一个十六进制字符串,如:09124E4F21CD0024FFFFFFFFFFFFFFFF,则ascii版本是:NO!Í或基本上是一堆难以辨认的符号。我尝试使用将hexstring转换为数字的labview函数,但它们不起作用。如何将ascii部分转换为hexformatted ascii?
答案 0 :(得分:1)
Hexadecimal String to Number工作正常,但仅适用于表示可以存储为数字数据类型的数字的十六进制字符串:
如果输入字符串表示超出范围的数字
number
的表示形式,number
被设置为该值的最大值 数据类型。
您的示例输入为128位长,而当前LabVIEW中的最长整数数据类型为64位。
您可以使用此功能,但您需要一次转换输入一个字节:
string
输入offset
输入 - 即将字符串拆分为前两个字符,其余字符match + rest of string
输出连接到右侧移位寄存器端子substring before match
输出连接到十六进制字符串到数字函数default
输入连接到值为0的数字常量并键入U8
您创建的索引终端的输出现在将是一个U8(字节)数组,其中包含从输入字符串转换的数据。如果您想以字符串形式使用,可以使用Byte Array to String转换它。
这假设您的输入字符串总是长度为2个字符的倍数。如果您需要它来处理诸如"3F2"
之类的输入,那么在将其传递到循环之前,您需要检查此输入并对输入执行某些操作(我会让您弄清楚是什么)。