【问题标题】:How do I escape unicode character 0x1F in xml?如何在 xml 中转义 unicode 字符 0x1F?
【发布时间】:2010-11-13 07:19:45
【问题描述】:

我需要在 utf-8 文档中编写带有 unicode 字符 0x1F 的文本(它不是 xml 中允许的字符)。有没有办法摆脱它,还是我必须丢弃它?

【问题讨论】:

    标签: xml unicode


    【解决方案1】:

    使用 0x1F XML 是非法的 (http://www.w3.org/TR/xml11/#charsets)。 所以没有办法做到这一点,除了以某种方式自己编码。 base-64(如建议的那样),或 url 编码,或 xml 不理解的任何其他选项。 这和在xml中存储二进制数据是一样的问题。

    【讨论】:

      【解决方案2】:

      这将在 XML 1.1 中执行(但不鼓励):

      
      

      XML 1.0 根本不支持它。一种解决方法是对包含字符的文本进行 base-64 编码。

      【讨论】:

      • 嗯,这是一样的,但它同样是非法的。 xmllint 例如:test.xml:2:解析器错误:xmlParseCharRef:无效的 xmlChar 值 31
      • 你能解释一下吗?我该如何使用 在解析包含 0x1f char 的 xml 时
      猜你喜欢
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 2010-09-16
      相关资源
      最近更新 更多