[IT]HTML网页源码的字符编码(charset)解释

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介:

当你通过浏览器,打开某个网站,即某个url地址的时候,你所能正常看到网页的内容,各种文字,都可以正常显示,且没有显示乱码。

此过程,涉及到,浏览器帮你正确解析HTML源码,其中涉及到HTML网页源码的字符编码处理方面的问题。

和字符编码处理相关的大概逻辑是:

1.浏览器访问对应的url地址,并获取对应的HTML(或者,以及,其他的css,javascript等)网页源码

2.浏览器识别解析HTML源码内容

其中包含了解析HTML的头部(head),找到对应的charset和Content-type

head中把Content-type设置为“text/html”。head让浏览器将该响应内容以HTML形式呈现,而不是以文件形式下载它。

然后把根据charset所指示的字符编码类型,去解码对应的HTML内容,显示对应的文字,以保证不是乱码,可以正确的显示文字信息;

举个例子:

当我们通过浏览器,去打开对应的url地址:http://sports.sohu.com/

浏览器可以正常显示对应网页内容:


而此时内部发生的过程是:

1.浏览器去访问url地址:http://sports.sohu.com/  去获得对应的HTML源码。(中间很有很多处理过程,省略,具体参考:当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

2.然后解析HTML源码并显示给用户

其中包括了解析HTML的head,知道content=text/html,charset=gb2312,然后用gb2312编码格式去解码,HTML形式呈现,然后就可以正常显示HTML中的内容,确保不是乱码了。


上面截图就是网页源代码,我们可以很清楚的看到我们要的信息。


注意:

1.之前就看到某处说过,有个别的html网页本身做的不规范,导致本身自己声明的是某种编码类型,

但是实际上,并不全是该类型的编码,导致你去按照其所声明的编码去解析,有时候仍会出现乱码。

比如,其html中明明写的是charset=gb2312,但是实际上,其部分字符是属于GBK的,导致你按照gb2312去解码,有些字符仍会是乱码,

而安装gbk去解码,就全都正常显示了,没有乱码了。即实际上应该是charset=gbk。


常见的HTML编码类型:

国内的网站,尤其是以前建的,好像很多还是GB2312(charset=gb2312),或者是GBK(charset=gbk)

但是越来越多的,都是采用兼容性更好的,包含字符更多的UTF-8编码的了(charset=utf-8)

国外的完整,如果只是某种语言的,比如英文的,好像也有采用iso8859-1的(charset=iso8859-1),同样,更多的网站,还是采用的是utf-8的。

总结:

  • 国内外的多数网站,都是采用charset=utf-8
  • 部分国外网站采用charset=gb2312或charset=gbk
  • 部分国外网站采用某种自己所属语言的编码,比如charset=iso8859-1







目录
相关文章
|
18天前
|
数据挖掘 Shell 测试技术
怎么用Python解析HTML轻松搞定网页数据
**Python解析HTML摘要** 本文介绍了使用Python处理HTML的常见需求,如数据提取、网络爬虫和分析,并讨论了三种解析方法。正则表达式适用于简单匹配,但对复杂HTML不理想;BeautifulSoup提供简单API,适合多数情况;lxml结合XPath,适合处理大型复杂文档。示例展示了如何用这些方法提取链接。
|
11天前
2024较火的软件宣传单页HTML源码
2024较火的软件宣传单页HTML源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果
23 4
2024较火的软件宣传单页HTML源码
|
24天前
王者英雄战力在线一键查询HTML源码
王者英雄战力在线一键查询HTML源码,输入英雄全称名字或者主要名字都可以,比如雷霆之王-司空震或者输入司空震都可以查询得到英雄战力,帮你更轻松的获取排名
35 17
|
18天前
动态粒子发射404网站HTML源码
动态粒子发射404网站HTML源码,粒子内容可以进行修改,默认是4,0数字还有一个页面不存在英文,可以自行修改,喜欢的朋友可以拿去使用,源码是html,记事本打开修改即可,鼠标双击可以运行
28 0
动态粒子发射404网站HTML源码
|
23天前
|
前端开发 JavaScript
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
|
28天前
|
数据采集 JavaScript 前端开发
HTML表单深度解析:构建互动的网页界面
HTML表单深度解析:构建互动的网页界面
28 2
|
28天前
|
前端开发 JavaScript 搜索推荐
HTML标签是如何定义网页内容的显示方式的?
【6月更文挑战第28天】HTML标签是如何定义网页内容的显示方式的?
18 2
|
22天前
|
数据采集 XML 存储
HTML内容爬取:使用Objective-C进行网页数据提取
HTML内容爬取:使用Objective-C进行网页数据提取
|
24天前
|
JavaScript 前端开发 UED
【源码分享】简单的404 HTML页面示例,该页面在加载时会等待2秒钟,然后自动重定向到首页
【源码分享】简单的404 HTML页面示例,该页面在加载时会等待2秒钟,然后自动重定向到首页
50 0