java - 在 XML 中存储值 NUL (ASCII)

标签 java xml

是否可以像这样在 XML 中保存 ASCII NUL 字符 <data>*NUL**NUL**NUL*</data>

我知道我可以使用 System.out.println("\0") 在 Java 中显示该值我想知道 XML 是否可以处理这个值。

*我的目标是使用 Java 从 XML 中获取“\0\0\0”

提前谢谢您!

最佳答案

specs for 1.0官方不会允许这样做。

ASCII NUL 又名 '\0' 又名 \u0000 是 java 中的普通字符。然而,在 C/C++ 中,它用作字符串终止符。因此,当 C 软件处理 XML 时,它可能会过早地检测到 XML 文本的结尾。

对于这个java也有一个解决方案,即当XML以UTF-8编码写入时,Unicode值> 127被编码为第8位1的多字节序列。DataOutputStream.writeUTF8写入'\0` 也作为多字节序列。所以读取正常,解码成功。

  • 这并不是完全严格的 UTF-8,需要最短编码。
  • 我仍然不确定 C 中处理 XML DOM 的错误。

所以这不是一个好主意。

另请注意,二进制数据应转换为 Base64 ASCII。由于 UTF-8 不适合二进制数据。

关于java - 在 XML 中存储值 NUL (ASCII),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38012034/

相关文章:

java - 使用 pi4j 从 DHT11 读取温度

java - 当我尝试打印多维数组时得到奇怪的输出

java - 错误 "java.lang.NoSuchFieldError: WRITE_DURATIONS_AS_TIMESTAMPS"

java - 错误 :resource android:style/TextAppearance. Material.Widget.Button.Borderless.Colored 未找到

C# - 如何删除具有命名空间的 XMLDocument 中的声明和元素?

java - 在android中保存数据对象持久内部列表

android - CardView 自定义样式属性

xml - WSO2 ESB 有效负载工厂中的 CDATA

java - Maven-ear-plugin 自定义最终名称

javascript - 当项目嵌套在同一括号中时读取 XML 文件