在 Pascal 中使用 # 符号键入超过 127 范围的字符
Using the # symbol in Pascal to type characters past 127 range
我知道在 pascal 中你可以使用 #
字符来显示某些字符,比如 tab(#9
), carriage return line feed(#13#10
), ect.
当我尝试做 127 范围之外的其他字符时,比如 #169
它用问号。
如何更改 lazarus 中的字符编码以便我可以使用此字符?
根据 Free Pascal:
The #
indicates the control string
The control string can be used to specify characters which cannot be typed on a keyboard, such as #27 for the escape character.
参见 free pascal character strings。
以上页面还提到:
It is possible to use other character sets in strings: in that case the codepage of the source file must be specified with the {$CODEPAGE XXX}
directive or with the -Fc command line option for the compiler. In that case the characters in a string will be interpreted as characters from the specified codepage.
例如,如果您想使用 UTF-8 编码,您可以使用 (see this page):
{$CODEPAGE UTF8}
{$Mode ObjFPC}{$H+}
(如果您在 windows 上,您可以选择 these code pages.)
我在 mac 上使用 fpc(免费的 pascal 编译器)测试了以下示例:
program Example;
{$CODEPAGE utf8}
{$Mode ObjFPC}{$H+}
Begin
writeln('Hello World'#13#10);
writeln('carriage return line');
writeln('Example: '#$C3#$A4);
End.
这个例子打印出ä
字符,是对dealing with UTF8 in free pascal页面例子的修改,对你解决这个问题有很大帮助。您可能需要调整该页面上的解决方案以适应您的问题。
请注意,我能够访问 ä
字符,因为我使用了它的十六进制值 C3A4
。
我知道在 pascal 中你可以使用 #
字符来显示某些字符,比如 tab(#9
), carriage return line feed(#13#10
), ect.
当我尝试做 127 范围之外的其他字符时,比如 #169
它用问号。
如何更改 lazarus 中的字符编码以便我可以使用此字符?
根据 Free Pascal:
The
#
indicates the control stringThe control string can be used to specify characters which cannot be typed on a keyboard, such as #27 for the escape character.
参见 free pascal character strings。
以上页面还提到:
It is possible to use other character sets in strings: in that case the codepage of the source file must be specified with the
{$CODEPAGE XXX}
directive or with the -Fc command line option for the compiler. In that case the characters in a string will be interpreted as characters from the specified codepage.
例如,如果您想使用 UTF-8 编码,您可以使用 (see this page):
{$CODEPAGE UTF8}
{$Mode ObjFPC}{$H+}
(如果您在 windows 上,您可以选择 these code pages.)
我在 mac 上使用 fpc(免费的 pascal 编译器)测试了以下示例:
program Example;
{$CODEPAGE utf8}
{$Mode ObjFPC}{$H+}
Begin
writeln('Hello World'#13#10);
writeln('carriage return line');
writeln('Example: '#$C3#$A4);
End.
这个例子打印出ä
字符,是对dealing with UTF8 in free pascal页面例子的修改,对你解决这个问题有很大帮助。您可能需要调整该页面上的解决方案以适应您的问题。
请注意,我能够访问 ä
字符,因为我使用了它的十六进制值 C3A4
。