美文网首页
HTML文档的字符集和编码

HTML文档的字符集和编码

作者: 二号潜水艇 | 来源:发表于2016-08-17 10:30 被阅读128次
1895-lake

这是一个老问题-乱码(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-8gb2312

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

是什么

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

字符集

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

编码

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

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

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

  • ANSI指通过多个字节对ASCII进行扩展的、跟本地相关的编码方式的统称,在大陆就是gb2312,在台湾就是big5,在日本就是Shift_JIS
  • Unicode编码实际使用的是utf-16+BOM编码;

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

字符集和编码的关系

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

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

参考文档

相关文章

  • 10个最常见的 HTML5 面试题及答案

    1、新的 HTML5 文档类型和字符集是? HTML5 文档类型很简单: HTML5 使用 UTF-8 编码示例:...

  • HTML文档的字符集和编码

    这是一个老问题-乱码(mojibake)!由于页面的编码问题,经常遇到页面显示乱码的问题,借这个机会理清字符集和编...

  • web前端试题集

    1. 新的HTML5文档类型和字符集是? HTML5文档类型:;字符集:UTF-8...

  • Html入门

    html标准骨架 文档声明头 HTML DTD约束文件 HTML字符集(重要) 中文能够使用的字符集 meta的作...

  • 关于JavaScript编码你应该知道的

    1. 字符集和编码的关系 字符集是字符的集合,编码则是字符集中的字符要如何存储的规则。 如上图,当字符集和编码一一...

  • HTML01基础知识

    1 HTML骨架 1.1 文档声明头 1.2 字符集 charset就是charactor set“字符集”的意思...

  • 字符集和字符编码

    一篇很好地字符集和字符编码的详细介绍 字符集和字符编码(Charset & Encoding)

  • Java内存中的文本编码

    1、编码简介 1.1 概念简析:字符、字符集、编码字符集、Code Point、Code Unit和字符编码格式 ...

  • 【变量】python中的字符集和编码

    字符集和编码简介 在编程中常常可以见到各种字符集和编码,包括ASCII,MBCS,Unicode等字符集。确切的说...

  • Html基础

    1.这句代码表示 当前html版本是 html5 字符集,标注字符编码,避免乱码3...

网友评论

      本文标题:HTML文档的字符集和编码

      本文链接:https://www.haomeiwen.com/subject/hxjmsttx.html