如何在Perl中将日语字符转换为unicode?

时间:2010-05-18 08:47:59

标签: perl unicode

你能指点工具把日文字符转换为unicode吗?

4 个答案:

答案 0 :(得分:2)

CPAN给了我“Unicode::Japanese”。希望这对你有所帮助。您还可以查看Character Encodings in Perl上的文章和unicode的perl文档了解更多信息。

答案 1 :(得分:1)

请参阅http://p3rl.org/UNI

use Encode qw(decode encode);
my $bytes_in_sjis_encoding = "\x88\xea\x93\xf1\x8e\x4f";
my $unicode_string = decode('Shift_JIS', $bytes_in_sjis_encoding); # returns 一二三
my $bytes_in_utf8_encoding = encode('UTF-8', $unicode_string); # returns "\xe4\xb8\x80\xe4\xba\x8c\xe4\xb8\x89"

要从命令行进行批量转换,请使用piconv

piconv -f Shift_JIS -t UTF-8 < infile > outfile

答案 2 :(得分:0)

首先,如果你不知道它,你需要找出源文本的编码。

日语最常见的编码是:

  1. euc-jp :(经常在Unix和一些网页上使用,覆盖范围大于shift-jis的{​​{3}})
  2. Kanji(Microsoft还添加了一些名为shift-jis的shift-jis扩展,它通常用于非Unicode Windows程序)
  3. cp932是遥远的第三个
  4. 许多语言的常见编码转换库是iconv(请参阅iso-2022-jphttp://en.wikipedia.org/wiki/Iconv),它支持http://search.cpan.org/~mpiotr/Text-Iconv-1.7/Iconv.pm以及日语。

答案 3 :(得分:0)

这个问题对我来说似乎有些模糊,我不确定你在问什么。通常你会使用这样的东西:

open my $file, "<:encoding(cp-932)", "JapaneseFile.txt"

打开包含日文字符的文件。然后Perl会自动将其转换为内部Unicode格式。