同步更新于 WeChat:荣小菜在补钙
欢迎关注 内容更丰富 大家好,我是荣小菜,本期将讲解LabVIEW中字符串的显示方式和含义,在上一期中,我们主要讲的是数值形式的报文如何进行更细致的合成与分解。但这是建立在已经对字符串报文进行了初步处理,将其转为了易处理的数值形式的前提下(有兴趣的可以看看43期)。又由于在LabVIEW中我们读取和发送报文大都是以字符串形式进行,因此必须对字符串的细节有更进一步的掌握才能更好的完成报文处理。 1. LabVIEW字符串_英文与数字 目前,LabVIEW中字符串控件的显示方式分为“正常显示”、“代码显示”、“密码显示”和“十六进制显示”。对于报文来说,最重要的显示方式当然是十六进制显示和正常显示,前者是报文的本质,目前的报文表达形式也大都是数字与英文字母组合的十六进制数。而后者是字符串最常用的方式。
首先,我们先看正常显示下的字符串报文,如下图所示,我们在正常显示字符串控件中输入“AB”、”AC”和”0F0E”报文时,代码显示不变,密码显示则为星号,而十六进制显示分别为“4142”、“4143”和“30463045”。可以看到,对于英文或者数字,十六进制显示字符串其实就是正常显示字符串的ASCII码的十六进制形式。
正常显示字符串示意 那么如果我们在十六进制显示字符串中输入同样的报文呢,如下图所示,我们在十六进制显示字符串控件中输入“AB”、”AC”和”0F0E”报文时,正常显示字符串显示的是ISO La tin-1字符集。需要注意的是字符串字节长度是不同的,我们这里输入的AB是一个字节,表示0xAB;而正常显示下输入的“AB”是两个字节,是“A”和“B”两个字符。
十六进制显示字符串示意 可见,在LabVIEW中,我们发送和接收的报文虽然是字符串数据类型,但本质上还是数。而如果想发送报文0xAB,直接在正常显示字符串中输入AB或者0xAB都是不行的。想要发送正确的0xAB,必须保证当前发送的字符串在十六进制显示下为AB才行。不过你要是一个能手打ISO Latin-1字符集的大佬那就另说了~~~ 2. LabVIEW字符串_中文 还有一个不得不提的便是中文字符串了,虽然目前很少很少直接用中文作为报文,但以后谁知道呢,嘿嘿(狗头)。如下图所示,我们在正常显示字符串中输入中文“故宫”,其十六进制显示下为”B9CA B9AC”,一共4个字节,对应的就是《汉字内码扩展规范》(GBK编码),表B9中的AC为“故”,CA为“宫”。
正常显示中文字符串示意 3. 总结 本期讲解了LabVIEW字符串的各种显示方式和详细含义,涉及到字符串与ASCII、GBK的对应关系。此外,本期也是下一期(第45期_报文合成与解析之十六进制字符串与常显字符串的互相转换)的基础。 啊对,我就是分开写了,绝不是水啊,是写一起的话内容太多了。真的,我以为这亿点内容结果写了3天了,信我~~ 分享开源免费,共同学习进步^_^
|