文件名称:已经介绍过了字符-华为、埃森哲:2020-未来智慧园区白皮书
文件大小:8.06MB
文件格式:PDF
更新时间:2024-07-21 12:38:53
Delphi
Object Pascal 式如何管理字符跟字符串的。我们在第二章已经介绍过了字符 型别,也提到了型别助手的相关函式可以在 Character 单元当中引入来使用。 现在,我们也对 Unicode 有了更完整的认识,是时候深入多看些细节了。 首先,字符型别并不是一成不变的记录 Unicode 的字码。事实上字符型别对 每个元素都使用两个 byte 来记录其数值。当字符以 Unicode 的基础多语系 平面(Basic Multilingual Plan, BMP)来表示字码的时候,同时也可以透过代理 对应(surrogate pairs)来显示字码。 技术上来说,我们可以使用另一个型别来直接记录任何一个 Unicode code, 这就是 UCS4Char 型别,它使用了 4 bytes 来记录一个数值。这个型别不常 被使用到,因为它需要使用更多的内存空间,我们可以看到 Character 单元 里面提供了好几种不同的处理方法给这个型别使用。 回到字符型别,请记得它是一个列举型别(可能是所有列举型别当中相对比 较大的),所以这个型别本身有顺序性,并且我们也可以把 Ord, Inc, Dec, Hight, Low 这些函式套用在字符型别上面。绝大多数的延伸功能,都包含在 型别助手里面,它们不是基本的系统 RTL 单元的一部分,所以我们得自己 引入 Character 单元。 使用 Character 单元来处理 Unicode 大多数对于 Unicode 字符的特殊处理(当然也包含 Unicode 字符串)都被定义 在 System.Character 这个单元当中。这个单元文件定义了 TCharHelper 这个 型别助手,用来提供 Char 型别协助,让我们可以直接从 Char 型别的变量中 直接呼叫这些处理方法。 _________________________________________________________________________ Character 单元定义了一个名为 TCharacter 的纪录型别,在这个型别当中定 义了一系列的静态类别函式,搭配有一些全局的子程序跟这些方法对应着。 这些函式已经比较老,有些都已经被弃用了。在 Unicode 层级来处理 Char 型别,这些方法却仍然是很有帮助的,所以透过类别助手提供。 这 个 单 元 文 件 也 定 义 了 两 个 很 有 趣 的 列 举 型 别 。 第 一 个 称 为 TUnicodeCategory,它对应了很多分类的字符,例如控制字符、空格符、大 写字符、小写字符、数字、标点符号、数学符号等等。第二个则是 筆記