今天谈及的ASCII和字符的转换函数是非常重要的,因为它涉及的计算机最基本的知识。首先我们需要明确计算机的存储设备,比如内存或者硬盘中,真的存在字符吗?

     计算机中的所有数据都是二进制方式的,当然以HEX方式描述更为方便,计算机最基本的存储单位是字节,我们在描述硬盘和内存大小时使用的都是这个单位,一 个字节由8个位组成,因此可以表示0-255的数值(0X00-0XFF),我们知道,一个字符也是占用一个字节,那么字节中都是0-255之间的数值, 字符在那里那?

     这就要深入理解ASCII的定义了,计算机中是用数值来表示字符的,ASCII码表中列出的每个数值对应的字符,所谓ASCII就是每个字符所代表的数值。所以所谓字符实际上是对字节中存在的数值的解释。

     我们知道,LV的布尔也占用一个字节,U8 、I8都是占用一个字节,从本质上说都是对字节中的数值进行重新解释,比如0表示FALSE,非0表示TRUE。

     LV提供了强制转换函数(CAST),从英文原意看翻译成铸模函数更为合适,今天只讨论一个字节转换的问题。

     比如内存中一个字节中,当前的数值是65,我们可以理解成存储的是U8、I8、BOOLEAN、CHAR。

      CAST函数需要指定强制转换后的数据类型,类型的值没有关系,关键是数据类型,上图中数值转换成字符和BOOLEAN,字符转换成数值,即字符的ASCII。




Leave a Reply.