【问题标题】:confusion between encoding of a web document and the encoding explicitly used in the documentWeb 文档的编码与文档中明确使用的编码之间的混淆
【发布时间】:2020-07-22 01:15:34
【问题描述】:

我知道这是一个非常愚蠢的问题,但不幸的是我自己无法弄清楚。当谈到编码和字符集主题时,我总是感到困惑。我将解释我从该主题中理解的内容,然后我会问我的问题。

当你想保存一个文件时,你会以某种字符编码进行,这意味着文件的每个字符都根据其编码适合内存。对吧?

例如,如果html 文件具有utf-16 编码,这是否意味着浏览器使用utf-16 编码来解码给定文件以读取源代码

meta 元素中使用charset 属性是否定义了语言(html) 应该使用什么编码来正确显示浏览器中的字符?

html自己加了一个“html字符引用”,和unicode字符码没有关系?

编辑1

所以在@snakecharmerb 之后我意识到了我的一些错误:

1- 我不知道没有关于 [text] 文件编码的元数据。

2- charset 属性告诉浏览器文件的编码,因为这些信息不能从文件本身中得到(在某种程度上它可以。见this 答案)

3- 文本文件只能有一种编码,如果文件使用 utf-8 编码,则表示它遵循 Unicode 字符集(UCS)。您不能将 utf-8 编码与另一个字符集一起使用,而如今 utf-8 和 unicode 这两个术语几乎可以互换。

【问题讨论】:

    标签: html encoding character-encoding meta


    【解决方案1】:

    当你想保存一个文件时,你会以某种字符编码进行,这意味着文件的每个字符都根据其编码适合内存。对吧?

    • 是的,每个字符都被编码为特定的数值;解码将数值转换回字符

    例如,如果一个 html 文件有 utf-16 编码,那是否意味着浏览器使用 utf-16 编码来解码给定文件以读取源代码?

    • 浏览器将尝试使用来自 Web 服务器的响应标头中的 Content-Type 标头中提供的编码解码页面;如果标头缺失或未指定编码,则将使用页面中的meta charset 标签。如果两者都没有指定,浏览器可能会尝试从文档内容推断编码,最后回退到 latin-1

    • w3c recommends 始终设置元标记,仅在确定正确的情况下设置 Content-Type 标头,并始终使用 UTF-8 作为编码。

    在元元素中使用 charset 属性是否定义了语言(html)应该使用什么编码来正确显示浏览器中的字符?

    • 它告诉浏览器应该使用哪种编码来解码页面

    而且html是自己加了一个“html字符引用”,和unicode字符码没有关系?

    • html 实体(如 '')独立于任何特定的编码,但它们的组成字符本身将被编码和解码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 2019-04-14
      • 2012-07-22
      • 2012-11-09
      相关资源
      最近更新 更多