我不知道如何在 Pascal 中设置 UTF-8。所以我需要写这封信:Š,Č,Ž 我不想使用这个版本:Č
问问题
1822 次
1 回答
2
如果您保存 .pas 文件 utf-8 编码,则可以使用简单的字符串常量。
'Š,Č,Ž and I'
然后字符串以 utf-8 格式存储在内存中。
如果你使用 Lazarus/LCL,你可以像往常一样显示它,因为 LCL 在内部使用 utf-8
如果你使用 writeln 它可以工作,如果系统终端是 utf-8 编码的(例如在 linux 上)
否则,您需要在打印前转换字符串。您可以UTF8ToAnsi
为此使用 LCL。至少在 Linux 上。Windows 比较特殊,因为它在终端中使用了另一种编码,所以你需要 UTF8ToConsole
or SetConsoleOutputCP(CP_UTF8);
,如果你想使用writeln
.
如果要调用 Windows api 函数,可以使用UTF8ToAnsi
调用旧的 A 变体,或UTF8Decode
调用 W 变体。
(还有一个{$codepage utf8}
选项可以将string-encoding设置为utf-8,但在当前版本中不应该使用它,因为它很奇怪并且会创建ucs-2和utf-8的混合)
于 2013-10-27T21:20:07.683 回答