【发布时间】:2014-06-16 05:08:08
【问题描述】:
不包括 UTF-8,是否有一般的理解或不言而喻的约定,如果字符串为空,编码器可以(应该)安全地省略 BOM。
对于空字符串似乎是一种浪费,尤其是在发送到服务器时。 在这种情况下,编码类型和字节顺序将无关紧要。
是否有专门针对空字符串处理 BOM 的 RFC?
谢谢。
【问题讨论】:
标签: utf-16 string byte-order-mark convention utf-32
不包括 UTF-8,是否有一般的理解或不言而喻的约定,如果字符串为空,编码器可以(应该)安全地省略 BOM。
对于空字符串似乎是一种浪费,尤其是在发送到服务器时。 在这种情况下,编码类型和字节顺序将无关紧要。
是否有专门针对空字符串处理 BOM 的 RFC?
谢谢。
【问题讨论】:
标签: utf-16 string byte-order-mark convention utf-32
BOM 通常仅在没有关于字符串编码的其他外部信息时使用。对文本文件有意义,数据必须是自描述的,但对于传输协议则不然,除非没有其他可用的编码信息,例如 HTTP 中的 Content-Type 标头,HTML 的 <meta> 标记,hard-由协议规范或协议扩展等编码。
对于简单地将字符串存储在内存中,如果您正确跟踪字符串,BOM 将毫无用处。此外,根据您实际使用的特定字符串类型,空字符串可能会或可能不会实现为 NULL 指针,因此您可能无论如何都无法包含 BOM。
不,没有关于一般 BOM 用法的 RFC。
【讨论】: