我们saxparser不忽略字节以标记 它出现在起始的文件。

我怎么得到我的萨克斯parser忽略字节了标记?

有帮助吗?

解决方案

它看起来像您可以起到UTF-16输入到的SAXParser这并不指望UTF-16。尝试将数据转换为UTF-8,它可能会帮助。

其他提示

检查文件在六编辑器。

如果最初的字节的确是 \xEF\xBB\xBF 随后通过该文件本身,那么它是一个UTF-8仿的物料清单。虽然UTF-8人造物料清单是一个肮脏的错误和工具,产生他们需要被摧毁了与特别程酸,XML格不 需要 分析程序,以认识和忽略这个字节的顺序,因此如果你萨克斯parser不它不符合,需要一些脚踢。

如果最初的字节给你  实际上喜欢的东西之一:

\xC3\xAF\xC2\xBB\xC2\xBF 
\xEF\xBB\xBF\xC3\xAF\xC2\xBB\xC2\xBF 
\xEF\x00\xBB\x00\xBF\x00
\xFF\xFE\xEF\x00\xBB\x00\xBF\x00

然后你有什么是偶然的双编码。在这种情况下,你需要看看程序产生的文件,因为它的不良好的形成,一个萨克斯析将是正确的抱怨,以及其他Unicode字的文件可能会搞砸了。可能它是做什么的愚蠢的像serialising的文字节串然后送它通过一个虚假的解码/编码循环。

无论哪种方式,如果你需要有分析器跳过麻烦字节的序列时,你就要给它一个版本的你手砍删除该前缀。不知道什么你萨克斯析器(或甚至是什么语言)很难说如何做到这一点。

也许你可以寻求的输入河流之前将其传递到分析器?也许你可以读取文件的成一个字节和串通,剪的初步字节,分析器?如果你分析器不会给你这些选项将不得加载文件作为字节,剪辑的开始和救出来再来一个新的文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top