我有一个非常糟糕的文件,里面装满了unicode字节,我正试图清理它。文件中的一些示例如下:
ブラック
roler coaster
digital social party
big bellie
cornacopia
xd0xb7xd1x83xd0xb1xd0xbdxd0xb0xd1x8f xd1x89xd0xb5xd1x82xd0xbaxd0xb0
现在,我想做的是将所有这些难看的字节点转换成真正的unicode文本。因此,以上内容将输出为:
ブラック
roler coaster
digital social party
big bellie
cornacopia
зубная щетка
一个小时以来,我一直在思考如何用Perl实现这一点,但我没有什么好主意。如果你有,我很想听。
它是UTF-8
$ perl -E'
use open ":std", ":locale";
use Encode qw( decode );
$_ = q{xd0xb7xd1x83xd0xb1xd0xbdxd0xb0xd1x8f }.
q{xd1x89xd0xb5xd1x82xd0xbaxd0xb0};
s/\x(..)/chr hex $1/seg;
$_ = decode("UTF-8", $_);
say;
'
зубная щетка