对HTML字符编码格式的探究

关于字符编码知识:

计算机存储所有数据都采用的是二进制编码。在早期时,计算机就只有英文字符,对应地,就只有一种编码格式:ASCII。

随着计算机的普及,为了在计算机中表示每个国家的字符,出现了很多的字符编码格式,比如GB2312(简体中文)、big5(繁体中文)、Shift-JIS(日文)等地方编码格式,和utf-8、utf16的unicode全球通用编码格式。

简单来说,字符编码格式就是提出了一种字符到数字的对应规范,比如把“你好”对应到其unicode编码为“\u4f60\u597d”,这样“你好”存储在计算机中就存储的是这样的数字

不同的编码格式就意味着不同的对应关系。一般来说,各国的编码规范,就规定了本国语言和西文与数字的对应关系,而unicode编码(utf-16、utf-8)包含了所有国家的字符到数字的对应关系。

关于HTML的字符编码:

这里,主要是理解三个名词:

  • 文档编码格式:这里指的是html文档的物理存储编码格式,就是指定它在计算机中怎么存储。可以通过设置其编码格式来指定,比如,Nodepad++编辑器可以通过格式菜单设置,如右图:

  • 浏览器解码格式:浏览器的解码格式可以手动设置。一般来说,解码应该和编码一一对应,比如你以gb2312编码的文档,就最好用gb2312去解码阅读,否则,会出现乱码。如下图:

  • 文档声明编码格式: 在head标签中的<meta http-equiv="content-type" content="text/html;charset=utf-8">,这里的charset就是指此html文档的声明编码格式。注意,这里的编码格式并不会有任何实际作用,只是简单的一个声明,唯二的作用就是
    • 浏览器在读取该文档时,如果解码格式为自动选择,就使用这里声明的编码格式。
    • 用于搜索引擎的数据收集与整理

总结:

我们在编写HTML文档时,文档的编码格式必须要覆盖文档包含的字符,浏览器的解码格式尽量保持和其编码格式完全一致。一个良好的习惯是,声明编码格式与编码格式保持一致,浏览器的解码格式设置为自动选择,这样就不会出现乱码了。

特别说明:

此篇文章并没有参考相关文献,有些内容可能与事实不符,但作者的中心思想是帮助大家理解相关问题,并不希望大家纠结于对理解本文章所阐述的内容影响不大的知识点,还望大家理解。欢迎大家指导更正相关错误。

王萌(puliuyinyi@qq.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值