除了UTF-8之外,是否有一般性的理解,或者未说明约定,如果字符串为空,编码器可以(应该)安全地省略BOM。
对于空字符串似乎是浪费,特别是在发送到服务器时。 在这种情况下,编码类型和字节顺序无关紧要。
是否存在专门针对空字符串处理BOM的RFC?
谢谢。
答案 0 :(得分:1)
BOM通常仅在没有关于字符串编码的其他外部信息时使用。对于文本文件有意义,数据必须是自描述的,但对于传输协议而言并非如此,除非没有其他可用的编码信息,例如HTTP中的Content-Type
标头,<meta>
标签HTML,由协议规范或协议扩展等硬编码。
对于简单地将字符串存储在内存中,如果正确跟踪字符串,则BOM无效。此外,根据您实际使用的特定字符串类型,空字符串可能会也可能不会实现为NULL指针,因此您可能无法包含BOM。
不,没有关于一般BOM使用情况的RFC。