我正在尝试剥离我在我的一个文件中找到的0x0字符,当我发现xml解析器被窒息时。
所以我使用gsub:
xmlBody.gsub!(/\u0000/i,'')
替换它。 xml解析器现在已满足。然后保存xml文件(使用UTF-8编码)。
但是,当我在Sublime文本编辑器中重新打开文件时,Sublime会崩溃。当我使用另一个编辑器(没有崩溃),并将文件的xml内容复制/粘贴到xml验证器中时,验证器说char 0x0无效。似乎gsub没有真的删除该角色。
有什么建议吗?
我也尝试过使用force_encoding(“UTF-8”)作为xmlBody,xmlBody.delete!(0x0)使用相同的结果。
答案 0 :(得分:0)
xml实际上包含文件内容。我删除了其他字符,但它们不在文件中。但是0x0不断回来。所以,我尝试在xml解析中删除它们(因此它将正确解析)并再次在文件写入上删除。它终于消失了。
output.write(utf8_encoded_content.gsub!(/\u0000/i, ''))
output.close