Cool
在 2014年12月3日星期三UTC+8下午5时27分33秒,Fayland Lam写道:
-- 在 2014年12月3日星期三UTC+8下午5时27分33秒,Fayland Lam写道:
# unidecode虽然 Unicode 已经非常流行,但是有时候在某些场景下,您不得不使用 ASCII 来作为输出。比如* 短消息 SMS,某些短消息网关不支持 Unicode* 文件名重命名* 不知道输入是什么语言,但需要转成能稍微看懂的* 等等这时候您可以使用 [Text::Unidecode](https://metacpan.org/pod/Text:: ) 来帮忙。Unidecode use utf8;use Text::Unidecode;print unidecode("Léon & møøse\n"); # Leon & mooseprint unidecode("您好"); # Nin Haoprint unidecode("こんにちは"); # konnitiha该模块对于某些字符可能支持不够完美,这时候你可以简单地写一个 wrap,参考该模块 [POD](https://metacpan.org/pod/Text::Unidecode ) 文档。## Usage一个将目录下所有中文名的文件转成对应拼音的脚本:use Text::Unidecode;use Encode;opendir(my $dir, "/some/where/from_dir");my @files = grep { -f $_ } readdir($dir);closedir($dir);foreach my $file (@files) {my $to_file = unidecode(decode_utf8($file));$to_file =~ s/\s+/\_/g;next if $to_file eq $file;print "$file -> $to_file\n";# do a copy}输入结果大致为:夜空中最亮的星.mp3 -> Ye_Kong_Zhong_Zui_Liang_De_Xing_.mp3 ## 作者[Fayland Lam](http://fayland.me/)
您收到此邮件是因为您订阅了Google网上论坛中的"PerlChina Mongers 讨论组"论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com。
要发帖到此论坛,请发送电子邮件至perlchina@googlegroups.com。
通过http://groups.google.com/group/perlchina访问此论坛。
要查看更多选项,请访问https://groups.google.com/d/optout。
没有评论:
发表评论