石鑫华视觉 发表于 2020-3-17 12:01:51

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版本

wuzhouxianren 发表于 2022-9-12 11:44:29

改成低版本啊,这是19版本的,看来自己写一个吧

Sarcasm9003 发表于 2022-9-12 22:27:21

学习了,多谢分享

zh6817719 发表于 2022-10-24 14:07:42

谢谢分享,很实用
页: [1]
查看完整版本: LabVIEW中16进制显示字符串与正常显示16进制字符串强制转换

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23