这里的字符是U+6237 CJK统一表意文字-6237的户。但是标准charscript模块提供的Unicode::UCD函数返回一个未定义的值:
perl -MUnicode::UCD=charscript -wle 'print charscript(chr(0x6237)) // "undef"'这个打印undef。我使用的是Perl 5.14.2或5.18.1;这两个版本都会出现问题。
我知道这个角色很容易成为日语甚至韩国文本的一部分,但是charscript甚至没有说像"CJK表意文字“这样的东西;相反,它只是返回undef,这是没有用的。
我真正想做的是写一个程序,我可以用来过滤我收到的电子邮件;带有中文主题的信息应该被标记。(我看不懂中文,合法记者也知道这一点,所以不要给我发中文邮件。)我有一个非常好的主题行用中文写,所以我想用charscript来帮助识别,但它似乎没有。
charscript不返回比undef更有用的内容呢?charscript是正确的用途吗?[稍后添加:我检查了相关的Unicode数据文件Scripts.txt,它将该字符的脚本标识为Han,如果由charscript返回,我会认为这是一个可以接受的结果。所以问题就在于软件,而不是我对Unicode的理解。]
发布于 2013-12-14 16:04:07
看看这些例子。用法是
charscript(0x6237)或
charscript('Han')你在做什么
charscript('户')https://stackoverflow.com/questions/20585069
复制相似问题