【问题标题】:How to get bytes as UTF-8Y in Java如何在 Java 中获取字节为 UTF-8Y
【发布时间】:2011-09-25 12:09:47
【问题描述】:

我正在使用 sax 解析器来解析编码为 utf-8y 的 xml 文件。如何在 sax 解析器或输入源中指定它?我总是得到一个解析异常

【问题讨论】:

标签: java xml sax utf


【解决方案1】:

我认为您正在通过 InputStream 读取文件?解析器应该能够从 XML 标头中确定文件类型。如果您将文件读入字符串,然后解析它往往会变成梨形

【讨论】:

  • 对不起,是不是文件头有BOM标记?如果是这种情况,那么记录了几种解决方法,例如webcache.googleusercontent.com/… 如果文件的 XML 标头错误地说明了文件的内容,那么您可以使用 BufferedInputStream 并在将内容传递到解析器时重写内容
【解决方案2】:

只是为了确定:“Y”是否包含在 XML 文档的“编码”值中?那么我对你得到一个错误并不感到惊讶——没有这样的编码。 我认为这是生成文档的错误,应该修复。

但在您这边,您有两个主要选择:

  1. 自己从 InputStream 构造一个 InputStreamReader,将“UTF-8”作为编码传递
  2. 在解析之前修改输入文档以从那里删除“y”

第一种方法很简单,大多数解析器应该可以接受。如果第一个不起作用,可以使用第二个选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 2014-05-22
    • 2011-10-23
    • 1970-01-01
    相关资源
    最近更新 更多