在网络通信中,例如电子邮件等,经常遇到UFT-8编码的问题。只要依据一定的转换准则,这种转换并不困难。当然我们更希望能在LABVIEW找到直接转换的函数,但是LABVIEW中的内置函数和VI中并没有提供。

实际上,LABVIEW中包含了很多非常有用的内置函数或者VI,但是并没有列入帮助文档,所以一般情况下不容易发现。今天给大家介绍的文本转换为UTF-8的函数就是如此。

LABVIEW提供了STMP库,在这个库中就包含了上述函数。库的具体位置如下图所示:

Picture
这个库中的许多VI都使用了一个内置函数“"文本至UTF-8转换”。该函数可以把LABVIEW字符串转换为UTF-8编码的字符串。简单转换程序如下图所示:

Picture

 
在格式化写入字符串(1)中,我们讨论了数值转换为格式字符串.。在格式化写入字符串(2)中,我们讨论了时间、日期转换为格式字符串。今天我们讨论字符串转化为带格式的字符串以及其综合运用的问题。

一、特殊转义字符

我们注意到在字符串函数选板中,LABVIEW提供了一些字符串常量。使用过早期版本的朋友们肯定注意到了现在的字符串常量比早期版本多了很多,字符串常量见下图:


 
时间标识是一种特殊的数值型控件,在早期版本的LABVIEW中并不存在,可能是8.X后出现的。这种特殊类型的数值型控件包含了我们需要的全部时间、日期信息。

在定时函数选板中,LABVIEW提供了许多的时间类相关函数,包括时间、日期转换为字符串函数,实际上格式化写入字符串函数完全支持时间标识,其转换功能更多、更全面。

与数值转换为字符串类似,时间标识转换为字符串的关键也是格式化字符串,LABVIEW提供了许多专门的时间相关的时间格式代码,这些格式符不仅仅可以用来转化为字符串,同时也可以时间标识控件进行特色显示,以下的例程中将同时利用字符串和时间标识显示控件显示我们需要的时间日期。

一、获取系统时间和日期(年、月、日、时、分、秒)

获取系统时间日期(年、月、日、时、分、秒)是最常用的时间操作,LABVIEW专门提供了格式化时间/日期函数,该函数可以直接获取当前的时间和日期,不需要添加任何时间代码,默认的时间代码为%c。

LABVIEW中的时间分为绝对时间和相对时间,绝对时间简单地说就是我们说的系统时间日期,相对时间可以用来表示经历过的时间,比如两个绝对时间(系统时间)的差值。

绝对时间的时间格式代码为%<>T,这是时间格式代码的容器,其它格式代码应位于<>中。

时间格式代码%c根据当地计算机语言规定的格式显示日期和时间。


 
几天前,我曾经写过一个Nugget,专门介绍了格式化写入字符串函数。虽然格式化字符串函数看起来很简单,但是变化非常多,巧妙地运用格式化字符串函数可以替代字符串函数选板中的很多函数,该函数的基本用法见下面的链接。

http://www.eefocus.com/csxcs366/blog/11-02/204708_34f6a.html

今天我们要详细讨论格式化写入字符串函数的多种用法,格式化写入字符串数最为关键的是“格式字符串”的问题。对于通常的“格式字符串”,函数提供了配置对话框。调用对话框的方法如下图所示: