LabVIEW中16进制显示字符串与正常显示16进制字符串强制转换
16进制显示字符串与正常显示16进制字符串强制转换正常显示字符串与16进制显示字符串强制转换
这种需求一般是在串口、VISA等仪器通信中涉及到的读写过程。一般来讲,仪器可能认的都是ASCII码的16进制编码。也就是,我们在字符串中,使用16进制显示时表示的代码。如0X0102 0304 0506 AABB CCDD EEFF这样格式的字符串。但是我们给到实际使用时,输入端也好,输出端也好,可能一般都是正常显示的字符串。但是,如果将正常的字符串写转换为ASCII码后,肯定就不是本身了,就如数字0-10的ASCII是从48-57,A-F则是从65-70,如果是小写的a-f则是从97-102。所以,这里面本身是有差别的。这时,如果正常显示输入的是0n10AC这样的字符串,实际输入时,也要表示为16进制的ASCII码的0x10AC,那就要进行强制转换,将字符串1强制转换为ASCII中的数字1,将字符串0强制转换为ASCII中的数字0,字符串A强制转换为ASCII码中的A。同样的,读取的16进制的ASCII的值,也要强制转换为正常显示的16进制的字符串。转换的原理,是将正常显示的16进制字符串转换为16进制的数字(反过来则是16进制数字转换为字符串),再将数组创建为数组并使用字节数组到字符串(反过来则是字符串到字节数组)。这样就可以转换为相应的ASCII表示的16进制的字符串了。当然中间要加一些辅助的如索引、连接、循环等过程,自己参考上面的示例。
LabVIEW示例下载.LV2019SP1版本
改成低版本啊,这是19版本的,看来自己写一个吧 学习了,多谢分享 谢谢分享,很实用
页:
[1]