首页 > Perl > 使用Unicode::UCD获取Unicode字符信息

使用Unicode::UCD获取Unicode字符信息

2012年3月13日 17点33分 发表评论 阅读评论

Unicode::UCD可以获取Unicode字符信息。Perl 5.12以上版本包含了此模块,而5.10只有升级到更高的版本才能使用该模块。下面是获取汉字“淮”Unicode信息的例子:

#!/usr/bin/perl
use strict;
use warnings;
use Unicode::UCD 'charinfo';
use charnames ':full';
use Data::Dumper;

my $charinfo = charinfo(ord( "\N{U+6dee}" ));

print Dumper $charinfo;
print "显示汉字 ";
binmode STDOUT, ":utf8";
print "\N{U+6dee}\n";

打印的结果:

$VAR1 = {
  'digit' => '',
  'bidi' => 'L',
  'category' => 'Lo',
  'code' => '6DEE',
  'script' => 'Han',
  'combining' => 0,
  'upper' => '',
  'name' => 'CJK UNIFIED IDEOGRAPH-6DEE',
  'unicode10' => '',
  'decomposition' => '',
  'comment' => '',
  'mirrored' => 'N',
  'lower' => '',
  'numeric' => '',
  'decimal' => '',
  'title' => '',
  'block' => 'CJK Unified Ideographs'
  };
显示汉字 淮

汉字的Unicode字符集可以在此处获取。一些Unicode图形(表情)可以参考这里。注意,如果要在系统中显示该表情图形或文字,必须要确定该表情图形和文字在系统字符映射表中有对应的条目,否则是无法正常显示的。比如笑脸”WHITE SMILING FACE”在字符映射表中有对应的条目,可以打印出来“☺”;而“SMILING CAT FACE WITH OPEN MOUTH”没有对应条目就无法正常显示了。Perl的charnames是访问Unicode集较为方便的接口,“\N“可在运行时编译后面花括号{}中的十六进制数和Unicode名称,比如\N{U+263a}和\N{WHITE SMILING FACE}都可以打印出笑脸。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.