我得到了这个代码来处理阿拉伯文本,它演示了我的问题:
my $noon = "ن";
my $code_point = charinfo(ord($noon))->{'code'};
print "Unicode code point for 'ن' (noon): U+$code_point\n";
$noon = "\N{U+0646}";
$code_point = sprintf("%04X", ord($noon));
print "Unicode code point for 'ن' (noon): U+$code_point\n";
$noon_code = 0x0646;
print (chr($noon_code), "\n");
它打印出:
Unicode code point for 'ن' (noon): U+00D9
Unicode code point for 'ن' (noon): U+0646
Wide character in print at code.pl line 11.
ن
这些价值观是不同的.我使用的是Linux mint 文本编辑器(XED). 似乎我在编码时不能使用硬编码的阿拉伯语,但我使用了文本文件,它们有正确的值的字母.