Encoding Unicode和UTF-8的差异,整个互联网的不一致性

Encoding Unicode和UTF-8的差异,整个互联网的不一致性,encoding,character-encoding,Encoding,Character Encoding,我知道关于这个问题有很多答案,但我需要一些澄清 据我所知,ASCII和Unicode都是字符集, 例如,他们告诉你A是十进制的(41),B是十进制的(42) UTF-8、UTF-16、UTF-32和ANSI是编码 他们的任务是将41和42个数字存储成他们喜欢的二进制形式,并管理它们的检索和转换回十进制。然后使用字符集,您可以获得相应的字符 但是,我正在研究如何获取网页使用的字符集/编码,我在Firefox上做了工具>页面信息 我可以读到:charset=utf-8 (这是页面:) 这是Firef

我知道关于这个问题有很多答案,但我需要一些澄清

据我所知,ASCII和Unicode都是字符集, 例如,他们告诉你A是十进制的(41),B是十进制的(42)

UTF-8、UTF-16、UTF-32和ANSI是编码 他们的任务是将41和42个数字存储成他们喜欢的二进制形式,并管理它们的检索和转换回十进制。然后使用字符集,您可以获得相应的字符

但是,我正在研究如何获取网页使用的字符集/编码,我在Firefox上做了工具>页面信息

我可以读到:charset=utf-8

(这是页面:)

这是Firefox中的一个bug吗?
或者,我是否完全误解了字符集/编码?

您对字符集有点误解,尽管这不是一个大问题。字符集只是可用字符的集合,它不必引用任何数字(尽管它们几乎总是引用)。另见:

这里真正的问题是
字符集的使用。它来自HTML5元标记,通常看起来像这样:


尽管名称不同,
charset
实际上是HTML5中的字符集,而不是字符集。这可能是由于字符集和编码之间的历史混淆造成的,因为在Unicode为单个字符集引入多个编码之前,两者之间没有太大区别