我有一个包含UTF-8字符序列的纯文本文件(.yml),如下所示:
foo:“Dette er en \ xC3 \ xB8”
问题在于\ xC3 \ xB8 - 这些不是“真正的”UTF-8字节,因为它们作为8个实际字符保存在文本文件中:\ x C 3 \ x B 8
有没有办法将这些转换为真正的2字节UTF-8序列?
可以使用任何OS / Language / Shell工具: - )
/ Carsten
答案 0 :(得分:2)
使用此perl脚本转换文件:
#!/usr/bin/perl
while (<STDIN>) {
$_ =~ s/\\x([0-9A-F][0-9A-F])/chr(hex($1))/eg;
print $_;
}
假设您将脚本命名为bogusutf
,然后使用此命令进行转换:
$ perl bogusutf &lt; inputfile&gt; outputfile