c++ - XML (C++) 中的真正二进制 block ?

标签 c++ xml encoding binary

是否可以将真实的(未编码为字符的)二进制 block (最好具有定义的字节顺序和字长)集成到 XML 文件中?

最佳答案

不,在保持 xml 标准的同时这是不可能的。

已解析的 XML 实体中允许的字符集是制表符、回车符、换行符和有效的 unicode 字符。有各种字节超出了这个允许的范围,最突出的是 0x0,还有 0x1 - 0x8、0xB - 0xC 和 0xE - 0x1F(即,大多数值都是典型的 ASCII 控制字符)。

您甚至不能将它们作为数字实体包括在内,因为它们不是有效字符。即,以下将不会验证:

<test>
    Testing ^A: &#x1;
</test>

参见 http://www.w3.org/TR/2006/REC-xml11-20060816/#charsets

关于c++ - XML (C++) 中的真正二进制 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14816940/

相关文章:

c++ - 移动数组中字符串的位置

c++ - 正确实现 std::sort

r - 从 xml 节点集中提取文本

winapi - Windows API ANSI函数和UTF-8

c++ - C可变参数宏调用另一个可变参数宏

c++ - 基类之后的专用 type_traits = 未定义的行为?

c# - 并非 WCF 数据协定中的所有参数都通过 Web 服务调用

java - 如何使用 javax.xml.stream 接口(interface) XMLStreamWriter 接口(interface)写入 boolean 值

sql-server - 具有-Encoding的Powershell “Import-Csv”在SQL Server中不起作用

android - 在 Android TextView 中编码