-1

我已经知道 utf 是用于“我如何存储它”的,它有好处,因为它的长度可变,这对 web 很有用。

Q#1

1)当我宣布

<meta http-equiv="Content-Type"    content="text/html; charset=utf-8" />

是为了

  • html 文件本身是如何存储在我的硬盘中的?

  • 或者 - 应该如何将文档传输到客户端(文档中的每个字符都将作为 utf 8 字符下载?)

  • 或者 - 当用户填写表单并提交时 -浏览器应如何将表单 input+html 中的每个字符传输到服务器

Q#2

2)如果 utf-8 可以包含所有内容,为什么我有时会看到charset=windows-1255"?为什么他们不总是使用utf8和玩得开心?

4

2 回答 2

1

Q1。元内容类型告诉浏览器如何解释从服务器接收到的字节。meta您可以将文件保存为标签指定的编码。服务器可能会在标头中设置字符集,Content-Type但这可能与实际文件不匹配,因为没有 100% 可靠的方法来检测文件的编码。无论字符集如何,文件的字节都以相同的方式传输。

根据http://www.w3schools.com/tags/att_form_accept_charset.asp,页面的内容类型也会影响浏览器在从页面发布表单时用来编码数据的字符集。

Q2。好问题。我相信字符集仍然有很多误解,因此编码与开发人员定义的标头不匹配并不罕见。旧版应用程序可能无法编写 UTF-8。当 UTF-8 中的等效字符占用更多字节时,使用特定的 8 位字符集也可以节省一小部分字节。例如,欧元符号可以在 Windows-1252 中使用 8 位表示,但在 UTF-8 中则为 24 位

于 2012-12-26T00:08:47.727 回答
1

字符集的声明Content-Type是向客户端指示接收到的文本编码的字符集。客户端应该对文档采取适当的操作,无论使用什么编码,是否存储原始字节和字符集声明,或将文本解码为中性字符集,或诸如此类。

于 2012-12-25T21:47:01.890 回答