【问题标题】:Why are there different HTML URL encodings depending on the charset used?为什么根据使用的字符集有不同的 HTML URL 编码?
【发布时间】:2016-03-13 21:55:08
【问题描述】:

我正在阅读 W3Schools 的 HTML 教程,尤其是 HTML URL Encoding 部分。
这里说:

只能使用 ASCII 字符集通过 Internet 发送 URL。如果 URL 包含 ASCII 集之外的字符,则必须转换 URL。

还有:

您的浏览器将根据您页面中使用的字符集对输入进行编码。

例如(关于最后一点)字符 编码为%80 用于Windows-1252 和%E2%82%AC 用于UTF-8。

我的问题是:如果只能使用 ASCII 字符,为什么有两种方法可以根据使用的字符集转换相同的字符?不能只有一个吗?这种方式有什么好处?在此之后,我为什么要使用accept-charset 属性?

【问题讨论】:

    标签: html encoding url-encoding


    【解决方案1】:

    它们只是不同的标准。

    Microsoft Windows-1252 和其他 Windows-{$ver} 是在计算机早期创建的。 Windows-1252 字符是一个字节长,这意味着它最多支持 255 个不同的符号

    这是字节长字符的解决方案 一些旧网站仍在使用这些字符集。

    相反,UTF-8 最多存储 4 个字节。这已经足够了。

    UTF-8 因此是事实上的当前标准,能够存储所有 Unicode 字符。它取代了所有 Windows 编码方言(如 Windows-1252、Windows-1250、Windows-1251 等)

    强烈建议使用 UTF-8 对所有 Web 文件进行编码。

    【讨论】:

    • UTF-8 的长度为 1 到 4 个字节,可编码超过一百万个字符。
    猜你喜欢
    • 2014-01-18
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多