Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html web文档编码与文档中显式使用的编码之间的混淆_Html_Encoding_Character Encoding_Meta - Fatal编程技术网

Html web文档编码与文档中显式使用的编码之间的混淆

Html web文档编码与文档中显式使用的编码之间的混淆,html,encoding,character-encoding,meta,Html,Encoding,Character Encoding,Meta,我知道这是一个非常愚蠢的问题,但不幸的是,我自己无法解决。当涉及到编码和字符集主题时,我总是感到困惑。我将解释我从主题中理解的内容,然后问我的问题 当您想要保存一个文件时,您可以使用特定的字符编码,这意味着文件的每个字符都可以根据其编码放入内存中。对吧? 例如,如果html文件具有utf-16编码,这是否意味着浏览器使用utf-16编码对给定文件进行解码以读取源代码 在meta元素中使用charset属性是否定义了语言(html)应该使用什么编码来在浏览器中正确显示字符 而且html本身添加了一

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


当您想要保存一个文件时,您可以使用特定的字符编码,这意味着文件的每个字符都可以根据其编码放入内存中。对吧?

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

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

而且
html
本身添加了一个“html字符引用”,它与unicode字符代码无关

Edit1

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

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

2.
charset
属性告诉浏览器文件的编码,因为这些信息不能从文件本身构思出来(在某种程度上它可以。请参阅答案)


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

当您想要保存一个文件时,您可以使用特定的字符编码,这意味着文件的每个字符都可以根据其编码放入内存中。对吧?

  • 是的,每个字符都被编码为一个特定的数值;解码将数值转换回字符
例如,如果html文件具有utf-16编码,这是否意味着浏览器使用utf-16编码对给定文件进行解码以读取源代码

  • 浏览器将尝试使用web服务器响应标题中
    内容类型
    标题中提供的编码对页面进行解码;如果标题缺失或未指定编码,则将使用页面中的
    元字符集
    标记。如果两者都未指定,浏览器可能会尝试从文档内容推断编码,最后返回拉丁语-1

  • w3c总是设置meta标记,只有在您确信内容类型头是正确的情况下才设置内容类型头,并且总是使用UTF-8作为编码

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

  • 它告诉浏览器应该使用哪种编码来解码页面
html本身添加了一个“html字符引用”,它与unicode字符代码无关

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