Ant*_*y D 4 html xml character-encoding
如果我正在阅读HTML文件的XML,我是否必须阅读告诉我能够读取文件的编码的标签?该标签的编码方式与文件的编码方式不同吗?我很好奇你如何在不了解编码的情况下阅读该标签.我意识到这是解决了问题.我只是好奇它是如何完成的.
更新1
我不明白,在UTF-16中,每个字符不会占用2个字节,而不是一个,并且与ascii不同?例如,UTF-16(U + 0045)中的字符E是0xfeff0045.那是0xfeff然后是0x0045,但是一些编码会改变它的结尾.你是否必须通过检查0xfeff并意识到它不能是ASCII或其他什么?
以下是W3C对此的评价:
XML编码声明在每个实体上用作内部标签,指示正在使用的字符编码.然而,在XML处理器可以读取内部标签之前,它显然必须知道正在使用的字符编码 - 这是内部标签试图指示的内容.在一般情况下,这是一个绝望的情况.然而,在XML中并不完全没有希望,因为XML以两种方式限制了一般情况:假设每个实现仅支持一组有限的字符编码,并且XML编码声明在位置和内容方面受到限制以便使其成为可能在正常情况下,可以自动检测每个实体中使用的字符编码.
http://www.w3.org/TR/2000/REC-xml-20001006#sec-guessing