小编Val*_*olm的帖子

为什么硬编码的阿拉伯字母与 Unicode 代码点的值不同

我得到了这段代码来处理阿拉伯语文本,它演示了我的问题:

\n
\nmy $noon = "\xd9\x86";\nmy $code_point = charinfo(ord($noon))->{'code'};\nprint "Unicode code point for '\xd9\x86' (noon): U+$code_point\\n";\n\n$noon = "\\N{U+0646}";\n$code_point = sprintf("%04X", ord($noon));\nprint "Unicode code point for '\xd9\x86' (noon): U+$code_point\\n";\n$noon_code = 0x0646;\nprint (chr($noon_code), "\\n");\n
Run Code Online (Sandbox Code Playgroud)\n

它打印出:

\n
Unicode code point for '\xd9\x86' (noon): U+00D9\nUnicode code point for '\xd9\x86' (noon): U+0646\nWide character in print at code.pl line 11.\n\xd9\x86\n
Run Code Online (Sandbox Code Playgroud)\n

价值观不同。我使用 Linux Mint 文本编辑器(Xed)。\n编码时似乎无法使用硬编码的阿拉伯语,但我使用了文本文件,它们包含具有正确值的字母。

\n

linux unicode perl

1
推荐指数
1
解决办法
94
查看次数

标签 统计

linux ×1

perl ×1

unicode ×1