Mic*_*ael 2 html unicode utf-8
据我了解,Unicode是一个字符集,包含所有语言中所有可能的字符。Utf-8 是一种在内存中表示每个字符的方法。如果是这样的话,为什么我们要这样写:
<meta charset="utf-8">
Run Code Online (Sandbox Code Playgroud)
并不是
<meta encoding="utf-8">
Run Code Online (Sandbox Code Playgroud)
在html文档中指示utf-8编码?
<meta charset="foo">
是原始 HTML 2.0 结构的主要兼容缩写<meta http-equiv="Content-Type" content="text/html; charset=foo">
。meta http-equiv
用于(以有限的方式)在 HTML 文档中走私 HTTP 标头,因此此构造等效于在封闭的 HTTP 响应的标头上charset=foo
进行设置。Content-Type
HTTP标Content-Type
头取自最初用于电子邮件的 MIME 标准(RFC2045,最初为 RFC1341)。该标准之所以如此称呼它,charset
是因为它早于 Unicode。当时,ISO-8559-1、cp1251 等被认为是单独的字符集。直到 Unicode 出现后,它才将它们重新表述为 One True 字符集的编码子集。
既然网络已经标准化了 Unicode(实际上是 UTF-16 代码单元,更遗憾的是)作为其字符模型,那么将其描述为encoding
. 但这个名字charset
一直沿用至今,因为没有迫切需要修复它。