基本字符类型是AnsiChar和WideChar。AnsiChar的尺寸是一个字节(8位),其值参照本地字符集(尽管该字符集可能是多字节的)。AnsiChar最初模仿ANSI字符集(名称来源),但现在用于扩大到是指当前的本地字符集。
_WideChar_
字符用多于一个字节来表示每个字符。在当前Object Pascal实现中,_WideChar_
的尺寸是一个字(16位),其字符顺序参照Unicode字符集(主意,在将来的实现中可能会加长)。Unicode 字符集中的前256个字符对应 ANSI 字符。
一般字符类型是 Char,等价于 AnsiChar 。因为 Char 的实现可能随着Object Pascal 的更新而发生改变,因此,在编程时需要处理不同尺寸的字符时,使用标准函数 SizeOf 要比直接使用硬编码常量可靠。
长度为 1 的串常量,如’A’,可以表示字符的值。预定义函数Chr返回对任何在 AnsiChar 或 WideChar 范围内的整数返回一个相应的字符值,如 Chr(65)返回字母A。
和整数值一样,当对其范围的起点递减或终点递增时,也可以视为一个环(当范围检查编译指示 {$R+}有效时除外)。例如,执行下面的代码:
var
Letter: Char;
I: Integer;
begin
Letter := High(Letter);
for I := 1 to 66 do
Inc(Letter);
end;
之后,字符Letter的值为 A (ASCII值为65)。