Labview 将 hex 格式的字符串转换为 ascii
Labview converting hexformatted string to ascii
在 labview 中,我试图将十六进制字符串转换为 ascii 格式。例如,如果我有一个像这样的 hexstring:09124E4F21CD0024FFFFFFFFFFFFFFFF 这个的 ascii 版本是:NO!Í 或者基本上是一堆难以辨认的符号。我尝试使用将 hexstring 转换为数字的 labview 函数,但它们没有用。我如何将 ascii 部分转换为十六进制格式的 ascii?
Hexadecimal String to Number 工作正常,但仅适用于表示可以存储为数字数据类型的数字的十六进制字符串:
If the input string represents a number outside the range of the
representation of number
, number
is set to the maximum value for that
data type.
您的示例输入是 128 位长,而当前 LabVIEW 中最长的整数数据类型是 64 位。
可以使用这个函数,但是需要对输入的数据进行一次一个字节的转换:
- 创建一个 While 循环并添加一个移位寄存器。使用您的输入字符串初始化移位寄存器。
- 在循环内,将字符串从移位寄存器连接到 Search/Split String 函数的
string
输入端
- 将数字常量 2 连接到
offset
输入 - 即,将字符串拆分为前两个字符,其余的
- 将
match + rest of string
输出连接到右侧移位寄存器端子
- 将
substring before match
输出连接到十六进制字符串转数字函数
- 将此函数的
default
输入连接到值为 0 的数字常量并键入 U8
- 将此函数的输出连接到 While 循环的右侧并进行终端索引(通过右键单击)
- 当传递回移位寄存器的字符串为空时,使用 Empty String/Path? 函数退出 While 循环。
您创建的索引终端的输出现在将是一个 U8(字节)数组,其中包含从输入字符串转换而来的数据。如果你想要它的字符串形式,你可以使用 Byte Array to String.
转换它
这假定您输入的字符串的长度始终是 2 个字符的倍数。如果您需要它来处理诸如 "3F2"
之类的输入,您需要检查这一点并在将其传递到循环之前对输入做一些事情(我会让您弄清楚是什么)。
在 labview 中,我试图将十六进制字符串转换为 ascii 格式。例如,如果我有一个像这样的 hexstring:09124E4F21CD0024FFFFFFFFFFFFFFFF 这个的 ascii 版本是:NO!Í 或者基本上是一堆难以辨认的符号。我尝试使用将 hexstring 转换为数字的 labview 函数,但它们没有用。我如何将 ascii 部分转换为十六进制格式的 ascii?
Hexadecimal String to Number 工作正常,但仅适用于表示可以存储为数字数据类型的数字的十六进制字符串:
If the input string represents a number outside the range of the representation of
number
,number
is set to the maximum value for that data type.
您的示例输入是 128 位长,而当前 LabVIEW 中最长的整数数据类型是 64 位。
可以使用这个函数,但是需要对输入的数据进行一次一个字节的转换:
- 创建一个 While 循环并添加一个移位寄存器。使用您的输入字符串初始化移位寄存器。
- 在循环内,将字符串从移位寄存器连接到 Search/Split String 函数的
string
输入端 - 将数字常量 2 连接到
offset
输入 - 即,将字符串拆分为前两个字符,其余的 - 将
match + rest of string
输出连接到右侧移位寄存器端子 - 将
substring before match
输出连接到十六进制字符串转数字函数 - 将此函数的
default
输入连接到值为 0 的数字常量并键入U8
- 将此函数的输出连接到 While 循环的右侧并进行终端索引(通过右键单击)
- 当传递回移位寄存器的字符串为空时,使用 Empty String/Path? 函数退出 While 循环。
您创建的索引终端的输出现在将是一个 U8(字节)数组,其中包含从输入字符串转换而来的数据。如果你想要它的字符串形式,你可以使用 Byte Array to String.
转换它这假定您输入的字符串的长度始终是 2 个字符的倍数。如果您需要它来处理诸如 "3F2"
之类的输入,您需要检查这一点并在将其传递到循环之前对输入做一些事情(我会让您弄清楚是什么)。