字符串和路径数据
字符串数据类型
LabVIEW 中字符串的存储方式与 C 语言相类似,都是使用表示法为 U8 的数值数组。二者的区别在于,C 语言中的字符串以字符 "\0" 作为字符串结束标志,而 LabVIEW 的字符串还记录了长度信息,不需要再使用特殊的结束符。
因为字符串数据在内存中存储数据的方式与 U8 数组相同 ,所以这两种数据之间的类型转换是有实际意义的。转换成的 U8 数组中每个元素是字符串中每个字母的 ASCII 码,以十六进制格式显示字符串时,看到的也是字符串中每个字符的 ASCII 码。不过 LabVIEW 已经提供了专门在字符串与 U8 数组之间转换的函数:“字符串至字节数组转换()”和“字节数组至字符串转换”,无需使用强制类型转换函数。下图中的两种转换方式是完全等效的。
目前 LabVIEW 是不支持 unicode 的,LabVIEW 在 Windows 上默认使用操作系统的本地编码,例如在中文 Windows 上通常是 GBK 编码。而在 Linux 和 macOS 上,LabVIEW 通常使用 UTF-8 编码。关于这个问题的详细信息可以参考 LabVIEW 的 unicode 问题 一节。
这导致了跨平台时的乱码问题:一个包含中文字符的 VI,在 Windows 上保存后拿到 Linux 上打开,由于编码解释方式不同(GBK vs UTF-8),中文字符会显示为乱码。
字符串控件
LabVIEW 的字符串控件除了具有正常的显示方法之外,还提供了另外三种非常有用的显示方式:“'\' 代码显示”、“十六进制显示”以及“密码显示”方式:

字符串中,有些字符具有特殊含义或无法显示,比如回车、换行等符号。这时,可以使用“'\' 代码显示”方式,把不能显示的字符用 '\' 转义代码表 示出来。对于使用过文本编程语言的程序员来说 '\' 转义符是比较常见的,C 语言中也使用同样的转义符来表示字符串中的特殊字符。在 LabVIEW 中,最常用的转义符就只有 "\n" 表示换行符、"\r" 表示回车符、"\t" 表示制表符、"\s" 表示空格、"\\" 表示 '\' 等几个。
LabVIEW 与某些设备交互数据,或者读写某些文件时,使用的是字符串类型的数据。但是,这些数据事实上也许并非文字,而是一些数值信息。这种数据在字符串控件上显示出来的是一些毫无意义的空格或符号,就如同在记事本中打开一个 EXE 文件看到的内容一样。其实,用户更希望看到的是数据的数值。此时,就可以选择 "十六进制显示" 方式将数据按数值方式显示出来。
“密码显示”方式顾名思义,就是把所有字符都用星号 '*' 来表示,用于需要输入密码的控件。
组合框(Combo Box)控件的数据类型也是字符串,我们可以利用它来限定用户只能选择某几个字符串。组合框与字符串控件的关系很类似于下拉列表控件与普通数值控件之间的关系。