我有一个包含UTF-8十六进制编码字符的文件,如下所示:
<root>
<element>1 \xc3\x97 2 = 2</element>
</root>
我想读取文件并将所有\xhh
个字符转换为等效的HTML十六进制数字,然后写入新文件。因此,给定具有上述内容的文件,新文件必须如下所示:
<root>
<element>1 × 2 = 2</element>
</root>
谢谢!
答案 0 :(得分:2)
假设您在输入流上使用了:utf8
,那么这将修复数据:
s/([^\x00-\x7F])/sprintf "&#x%x;", ord $1/ge;