Perl Unicode 烹饪书:CJK 代码点名称

℞ 11:CJK 代码点名称

CJK 代表汉字、日语和韩语。在 Unicode 的语境中,通常指现代汉字和日语书写系统中使用的汉字。正如你所预期的,像中文这样的象形语言使得 Unicode 的处理更加复杂。

像“東京”这样的汉字返回的字符名称是 CJK UNIFIED IDEOGRAPH-6771CJK UNIFIED IDEOGRAPH-4EAC,因为它们的“名称”在不同语言中是不同的。CPAN 中的 Unicode::Unihan 模块有一个大型数据库用于解码这些(以及更多),只要你懂得如何理解其输出。

 # cpan -i Unicode::Unihan
 use Unicode::Unihan;
 my $str   = "東京";
 my $unhan = Unicode::Unihan->new;
 for my $lang (qw(Mandarin Cantonese Korean JapaneseOn JapaneseKun)) {
     printf "CJK $str in %-12s is ", $lang;
     say $unhan->$lang($str);
 }

打印

 CJK 東京 in Mandarin     is DONG1JING1
 CJK 東京 in Cantonese    is dung1ging1
 CJK 東京 in Korean       is TONGKYENG
 CJK 東京 in JapaneseOn   is TOUKYOU KEI KIN
 CJK 東京 in JapaneseKun  is HIGASHI AZUMAMIYAKO

如果你心中有一个特定的罗马化方案,请使用特定的模块

 # cpan -i Lingua::JA::Romanize::Japanese
 use Lingua::JA::Romanize::Japanese;
 my $k2r = Lingua::JA::Romanize::Japanese->new;
 my $str = "東京";
 say "Japanese for $str is ", $k2r->chars($str);

打印

 Japanese for 東京 is toukyou

上一页:℞ 10:自定义命名字符

系列索引:标准序言

下一页:℞ 12:显式编码/解码

标签

反馈

这篇文章有什么问题吗?请通过在 GitHub 上打开问题或拉取请求来帮助我们。