HTML5中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

HTML5中国 首页 应用推荐 查看内容

HTML文档的字符集和编码

2016-8-29 11:12| 发布者: Hyukoh| 查看: 846| 评论: 0|原作者: Juglans|来自: Juglans' Blog

摘要: 实际个人评价这篇的内容更有价值,虽然主题显得有点陈旧,但是除了在HTML页面遇到乱码,在进行java、python编码过程也经常遇到乱码问题,如果能对编码有个成体系的问题,当我们遇到这类问题时,就不是直接通过百度、 ...

  实际个人评价这篇的内容更有价值,虽然主题显得有点陈旧,但是除了在HTML页面遇到乱码,在进行java、python编码过程也经常遇到乱码问题,如果能对编码有个成体系的问题,当我们遇到这类问题时,就不是直接通过百度、谷歌找解决办法,而是根据自己的知识体系更快的找到思路并会影响你以后的编码习惯而让以后不会或少遇到此类问题。希望不会因为本人对常见编码的具体规则进行分析而导致您忽略了真正有价值的东西。


  这是一个老问题-乱码(mojibake)!由于页面的编码问题,经常遇到页面显示乱码的问题,借这个机会理清字符集和编码的关系。这里并不对各种字符集和编码的具体实现进行讨论,只是弄清楚他们分别是什么,有什么关系,怎么用。字符集和编码问题并不只在HTML中存在,在XML、Json、CSS、程序源码及文本文件中都会遇到。由于理解比较粗浅,错误的地方欢迎指出。


  怎么用


  这里先介绍HTML里面怎么指定编码。

  随便打开一个网站,都能在head里面看到以下类似代码:

<head>  
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

  浏览器在获取HTML文档后,会根据这段代码指定的编码方式(charset=utf-8)对HTMl文档进行解码,如果HTML文档本身的编码方式和指定的编码方式一致,浏览器将正常的解码并显示字符,如果HTML文档本身的编码方式和指定的编码方式不一致,就会出现乱码。这里HTML本身的编码方式指在保存HTML文档时指定的编码方式,如通过记事本默认保存的编码为ANSI,如果在中国,则就是用的gb2312编码,因此如果charset指定的是utf-8,也会出现乱码。


  charset=utf-8中的charset并不是字符集的意思,而是指编码

  国内最常用的编码方式为utf-8和gb2312


  再次强调:HTML文档本身的编码要和HTML中指定的编码一致。


  是什么


  平时遇到乱码问题基本都归类为编码问题,实际其中包含了两层意思,从charset的命名也能看出端倪,字符集和编码。


  字符集


  字符集意思是一类字符的集合,也可以叫字符库,本身并不是编码的概念,如ASCII和Unicode,但是很多字符集本身也代表了一种编码,如gb2312、gbk等,因此有时也把这些字符集叫做编码,没毛病。


  编码


  编码是我们平时直接使用的,而字符集我们并不直接使用。


  计算机并不认识这些字符集,他们只认识0和1,因此通过0和1的组合唯一的标示这些字符的规则就是编码,如Unicode对应的编码有utf-8、utf-16和utf-32,每种编码都有自己的规则,有些兼容有些不兼容。


  这里简单介绍一下Windows记事本中的编码:

  ANSI指通过多个字节对ASCII进行扩展的、跟本地相关的编码方式的统称,在大陆就是gb2312,在台湾就是big5,在日本就是Shift_JIS;

  Unicode编码实际使用的是utf-16+BOM编码;

  Windows提供了ANSI和Unicode的转换,可以通过代码页,实际就是一个映射表,不具体介绍。


  字符集和编码的关系


  上面已经说明了他们之间的关系,这里简单列举一下常用的字符集和编码:

字符集 编码 长度
ASCII ASCII 单字节
Unicode utf-8、utf-16、utf-32 单字节、多字节
gb2312 gb2312 双字节
big5 big5 双字节
ISO-8859-1 ISO-8859-1 单字节
ISO-8859-* ISO-8859-* 单字节

  参考文档


  http://www.cnblogs.com/salted-fish/p/5117590.html

  http://os.51cto.com/art/201503/467929.htm

  #html #编码 #字符集 用flow.ci让Hexo持续部署



原文链接:http://ddr888.xyz/2016/08/html-charset/?utm_source=tuicool&utm_medium=referral

原文作者:Juglans


鲜花

握手

雷人

路过

鸡蛋
更多

相关阅读

最新评论

HTML5中国微信

小黑屋|关于我们|HTML5论坛|友情链接|手机版|HTML5中国 ( 京ICP备11006447号 京公网安备:11010802018489号  

GMT+8, 2017-5-27 16:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部