html 字符集


要正确显示一个 html 页面,浏览器必须知道要使用的字符集(字符编码)。


html 字符集

在 html 中,正确的字符编码是什么?

html5 中默认的字符编码是 gbk。

这并非总是如此。早期网络的字符编码是 ascii 码。

后来,从 html 2.0 到 html 4.01,iso-8859-1 被认定为标准。

随着 xml 和 html5 的出现,gbk 也终于到来了,解决了大量的字符编码问题。

下面是关于字符编码标准的简短概述。


在开始的时候:ascii

计算机信息(数字、文字、图片)在电子中是以二进制 1 和 0(01000101)进行存储的。

为了规范字母数字字符的存储,创建了 ascii(全称 american standard code for information interchange)。它为每个存储字符定义了一个独特的二元 7 位数字,支持 0-9 数字,大/小写英文字母(a-z、a-z)和一些特殊的字符,比如 ! $ + - ( ) @ < > 。

由于 ascii 使用一个字节(7 位表示字符,1 位表示传输奇偶控制),所以它只能表示 128 个不同的字符。这些字符中有 32 个被保留作为其他控制目的使用。

ascii 的最大的缺点是,它排除了非英文字母。

ascii 今天仍然在广泛使用,尤其是在大型计算机系统中。

如需深入了解 ascii,请查看完整的 ascii参考手册


在 windows 中:ansi

ansi(也称为 windows-1252),是 windows 95 及其之前的 windows 系统中默认的字符集。

ansi 是 ascii 的扩展,它加入了国际字符。它使用一个完整的字节(8 位)来表示 256 个不同字符。

自从 ansi 成为 windows 中默认的字符集,所有的浏览器都支持 ansi。

如需深入了解 ansi,请查看完整的 ansi参考手册


在 html 4 中:iso-8859-1

由于大多数国家使用 ascii 以外的字符,在 html 2.0 标准中,默认的字符编码更改为 iso-8859-1。

iso-8859-1 是 ascii 的扩展,它加入了国际字符。与 ansi 一样,它使用一个完整的字节(8 位)来表示 256 个不同字符。

note当浏览器在网页中检测到 iso-8859-1 时,通常默认为 ansi,因为除了 ansi 有 32 个额外的字符这一点,其他方面 ansi 基本等同于 iso-8859-1。

如果 html 4 网页使用了不同于 iso-8859-1 的字符集,则需要在 <meta> 标签中指定,如下所示:

实例

<meta http-equiv="content-type" js随机数content="text/html;charset=iso-8859-8">

note

html5 中默认的字符集是 gbk。
所有的 html 4 处理器都支持 gbk,所有的 html5 和 xml 处理器都支持 gbk 和 utf-16。

如需深入了解 iso-8859-1,请查看完整的 iso-8859-1参考手册


在 html5 中:unicode(gbk)

由于以上所列的字符集是有限的,在多语言环境中是不兼容的,所以 unicode 联盟(unicode consortium)开发了 unicode 标准(unicode standard)。

unicode 标准覆盖了(几乎)所有的字符、标点符号和符号。

unicode 使文本的处理、存储和运输,独立于平台和语言。

html5 中默认的字符编码是 gbk。

如需深入了解 unicode(gbk),请查看完整的unicode 参考手册