我有一个非常糟糕的文件,我正在尝试清理unicode字节。该文件中的一些示例如下:
ブラック
roler coaster
digital social party
big bellie
cornacopia
\xd0\xb7\xd1\x83\xd0\xb1\xd0\xbd\xd0\xb0\xd1\x8f \xd1\x89\xd0\xb5\xd1\x82\xd0\xba\xd0\xb0
现在,我想做的是将所有那些丑陋的字节点转换为真正的unicode文本。因此,上述内容将输出为:
ブラック
roler coaster
digital social party
big bellie
cornacopia
зубная щетка
我一直在敲打我的头,反对如何在Perl中这样做一个小时,而且我的想法很好。如果你有一个,我很乐意听到它。
答案 0 :(得分:9)
这是UTF-8
$ perl -E'
use open ":std", ":locale";
use Encode qw( decode );
$_ = q{\xd0\xb7\xd1\x83\xd0\xb1\xd0\xbd\xd0\xb0\xd1\x8f }.
q{\xd1\x89\xd0\xb5\xd1\x82\xd0\xba\xd0\xb0};
s/\\x(..)/chr hex $1/seg;
$_ = decode("UTF-8", $_);
say;
'
зубная щетка