HTML 中,正确的字符编码是什么?
HTML5 中默认的字符编码是 UTF-8。
这并非总是如此。早期网络的字符编码是 ASCII 码。
后来,从 HTML 2.0 到 HTML 4.01,ISO-8859-1 被认定为标准。
随着 XML 和 HTML5 的出现,UTF-8 也终于到来了,解决了大量的字符编码问题。
下面是关于字符编码标准的简短概述。
在开始的时候: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 个不同字符。
如果 HTML 4 网页使用了不同于 ISO-8859-1 的字符集,则需要在 <meta> 标签中指定,如下所示:
实例
<metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-8">
如需深入了解 ISO-8859-1,请查看完整的 ISO-8859-1 参考手册。
在 HTML5 中:Unicode(UTF-8)
由于以上所列的字符集是有限的,在多语言环境中是不兼容的,所以 Unicode 联盟(Unicode Consortium)开发了 Unicode 标准(Unicode Standard)。
Unicode 标准覆盖了(几乎)所有的字符、标点符号和符号。
Unicode 使文本的处理、存储和运输,独立于平台和语言。
HTML5 中默认的字符编码是 UTF-8。
如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!
当浏览器在网页中检测到 ISO-8859-1 时,通常默认为 ANSI,因为除了 ANSI 有 32 个额外的字符这一点,其他方面 ANSI 基本等同于 ISO-8859-1。
HTML5 中默认的字符集是 UTF-8。
所有的 HTML 4 处理器都支持 UTF-8,所有的 HTML5 和 XML 处理器都支持 UTF-8 和 UTF-16。
技术等级】中级
本文重点讲解CSS文件中的字符集问题,同时展示了中文字体的英文名称应该如何使用。本文属于前端开发的中级教程,适合于有一定的CSS开发经验的学习者。
现在页面的CSS代码多采用CSS文件的方式链接使用,这主要是秉承了“标记”与“表象”相分离的设计原则,让CSS代码在一个独立的文件中呈现。
在CSS文件中同样会出现一定的中文,例如:中文注释,中文字体名称。这些中文内容,浏览器能够自动识别而不至于解释为乱码吗?
W3C为CSS文件准备了一个设置文件字符集的命令,该命令的书写格式如下:
CSS文件使用 @charset “utf-8”; 命令设置文件字符集
该句命令的使用有如下的规定:
上述代码中@和charset之间不得有空格。
所指定的字符集名称必须用双引号引住。
命令末尾必须带有一个分号。
该句命令在一个CSS文件中只允许出现一次。
该句命令必须书写在CSS文件的第一行,前面不得有任何内容,也不得有任何注释。
该句是为CSS文件中出现的非ASCII码字符所设定的。为了让非ASCII字符不出现乱码或者字体中文名称起作用,必须设置该句。当然现在的许多编辑器在这方面处理的都比较好,设计人员无需书写该句,也能正确的实现非ASCII字符。
一、Sublime 中如何修改CSS字符集:
在编辑器Sublime 3中,如果要修改字符集,单纯的在 @charset 命令中改变字符集的名称是不行的。
首先,默认情况下,Sublime 3认定的字符集为 utf-8,从下图中指定的位置可以看出。
Sublime 3 中指定文件当前字符集的位置
图中箭头指向的位置表明当前的字符集设置为“utf-8”,图中第1句指定的字符集命令也是“utf-8”。这样,代码第4行的中文字体名称“汉仪综艺体简”就可以在页面中生效了。
如果想使用“gb2312”或者“big5码”字符集,则需要更改Sublime 3中指定的字符集。方法是在“文件”菜单下选择“设置文件编码”命令,从中找到想使用字符集,例如“GBK”,就表示“gb2312”字符集。
Sublime 3 中更改文件编码
如果没有对Sublime 3进行文件编码设置,只是更改了 @charset 命令中指定的字符集名,则在代码中使用的中文字体名称是不会生效的。
箭头指定的两个位置必须是一致的
二、中文字体的英文名称表示法:
如果能让中文字体的名称不再使用中文书写,而是使用英文书写,那么CSS文件中几乎就很少再会有非ASCII字符的出现了。所以,每一个中文字体都具备一个英文名称表示法。大家应该熟悉一些常用字体的英文名称表示法,这样就不用在CSS文件顶部注明 @charset 命令了。
下面,小海老师就为大家搜集了一些常用中文字体的英文表示法,希望大家在学习过程中注意知识的积累。
宋体:SimSun
仿宋:FangSong
黑体:SimHei
楷体:KaiTi
幼圆:YouYuan
隶书:LiSu
微软雅黑:Microsoft YaHei
华文细黑:STXihei
华文中宋:STZhongsong
华文仿宋:STFangsong
花纹新魏:STXinwei
华文行楷:STXingkai
华文彩云:STCaiyun
华文隶书:STLiti
如果您的电脑是 Apple Mac OS,还可能会用到下列字体:
丽宋Pro:LiSong Pro Light
丽黑Pro:LiHei Pro Medium
苹果丽中黑:Apple LiGothic Medium
苹果丽细宋:Apple LiSung Light
标楷体:BiauKai
将上述中文字体的英文名称用在 font-family 属性中指定字体,就可以不用在书写 @charset 命令了。
下一次小海老师会为大家讲解CSS中有关文本段落的属性,结合前面HTML的内容,可以对页面中的段落进行更为细致的调整。千万不要错过哦。
如果大家希望得到更加全面的关于HTML和CSS技术讲解的内容,可以私信我,我会免费将小海老师自己编写的HTML和CSS的PDF教材发给你,帮助你在前端开发的道路上阔步前行。
符集 (字符编码):每一个字符分配一个代码或叫编号,如u+0041即代表A;
一种语言对应一个特定的字符集;
也可以有多个字体集来定义,如GB2312、GBK;
几种语言合并到一起也可以定义一个字符集,如CJK,即中国、日本、韩国;
全世界语言全部考虑进来的字符集Unicocde;
当你使用不同的字符集时,即使你的其他设置相同,文本在浏览器上的显示效果也会有区别;
HTML对语言、字符集、字体集的定义
<html xml:lang="en">; or <p xml:lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
font-family:"font-family:Arial, Helvetica, sans-serif";
通常来说,一种字体通常不会包括一种语言的全部字体,如果你只定义一种字体,没有字体定义的字体会显示为?;
1 serif:times new roman;一种具有衬线的字体。衬线是指字符笔划末端的装饰性细线,times new roman,georgia。seif字体最适合于印刷,因为即使在尺寸很小的时候这种字体依然容易阅读。但是,在呈现为屏幕上的像素时,衬线中细腻的点往往会有一些损失或粗粒化,所以一般来说在web上sans serif字体更容易阅读(不过,serif字体在尺寸比较大的情况下很漂亮)
sans serif:无衬线,是一种没有装饰曲线的字体,如Helvetica,arial;
2 monospace:courier,是一种所有字符包括标点都具有相同宽度的字体;
3 monospace:monaco,是一种所有字符包括标点都具有相同宽度的字体;(如果不是特别指定,一些字母所需的相对宽度是不等的,如iW,如果显示编码,则用等宽字体更直观;)
4 cursive:"brush script mt,是一种模仿手写体的字体;
5 fantasy:impact:一种装饰性的或高度花样化的字体
输入、输入法
为了将各种符号输入计算机或其他设备(如手机)而采用的编码方法。
多数的输入法软件是为汉语,韩语,和日语而设计,是因为键盘原在打字机时代为英文字母而设计,而中文、日文等文字却无法直接输入,所以必需集中输入法编码来输入相应的文字。在中国,为了将汉字输入计算机或手机等电子设备则需要中文输入法。汉字输入的编码方法,基本上都是采用将音、形、义与特定的键相联系,再根据不同汉字进行组合来完成汉字的输入的。
广义上的输入法还包括手写、语音、OCR扫描阅读器、速录机等输入方式。手写识别借着计算机的认字功能,由使用者的手写字体来辨别文字或其它符号。语音识别使用话筒和语音识别软件来辩别文字。OCR软件种类比较多,常用的比如清华OCR,在系统对图形进行识别后,系统会把不能肯定的字符标记出来,从而将文字或符号输入到电脑中。速录技术一般采用专用的速录键盘和设备,有国际上的专用速录设备,通常采用并击手术(即每次按键多个手指按下不同键位),可以实现每按一次就出来整一个单词。中文使用最广泛的速录技术是亚伟速录,可以实现每分钟600字以上的速度。
-End-
*请认真填写需求信息,我们会在24小时内与您取得联系。