问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

字符常见的几种编码方式

发布网友 发布时间:2022-04-23 22:07

我来回答

2个回答

懂视网 时间:2022-04-18 11:53

为了简化问题,就把xml的内容简化为如下的形式:<?xml version="1.0" encoding="gbk"?> <DOCUMENT> <da><![CDATA[中文,就是任性]]></da> </DOCUMENT>它的encoding为gbk,其中的节点有一个为中文字符 使用lxml提取节点的值时出现了如下的异常lxml.etree.XMLSyntaxError: Extra content at the end of the document此时对应的Python脚本为:tst = u'<?xml versio

1. lxml处理xml时的字符编码问题

简介:经过各种尝试无果,后来在stackoverflow上看到这篇文章,文中提到的问题和xml中的encoding值有关,尝试了增加了一段代码

2. Python3解决棘手的字符编码问题详解

简介:Python3 最重要的一项改进之一就是解决了 Python2 中字符串与字符编码遗留下来的这个大坑。Python 编码为什么那么蛋疼?已经介绍过 Python2 字符串设计上的一些缺陷: - 使用 ASCII 码作为默认编码方式,对中文处理很不友好。 - 把字符串牵强地分为 unicode 和 str 两种类型,误导开发者

3. 详解lxml处理xml时的字符编码问题

简介:为了简化问题,就把xml的内容简化为如下的形式: {代码...} 它的encoding为gbk,其中的节点有一个为中文字符 使用lxml提取节点的值时出现了如下的异常 {代码...} 此时对应的Python脚本为: {代码...} 不过简化之前...

4. python的字符编码问题

简介:最近因为项目需要用到PYTHON脚本,赶紧学习了一下。今天碰到一个问题,做下笔记。就是出现类似“Non-UTF-8 code starting with 'xb6' in file xxxxx.py”这样的报错,错误原因网上都有解释:是PYTHON的文件编码问题,因此根据官方提示,需要加入#coding = 你要指定的编码。 其次,在调试过程中发现,转换文件编码的语句:# ...

5. php字符编码问题详解

简介:php字符编码问题详解

6. PHP字符编码问题之GB2312 VS UTF-8解决方法_PHP教程

简介:PHP字符编码问题之GB2312 VS UTF-8解决方法。看代码: 代码如下:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" html head meta http-equiv="Content-Type"

7. PHP字符编码问题之GB2312 VS UTF-8_PHP教程

简介:PHP字符编码问题之GB2312 VS UTF-8。今天照着书随便写了段代码,代码意图是将字符串使用str_split()函数进行分割成数组,英文好说,但分割中文(两个中文一个数组单元)时

8. html特殊字符编码问题导致的细节问题_html/css_WEB-ITnose

简介:html特殊字符编码问题导致的细节问题

9. 字符编码问题

简介:字符编码问题

10. 跟大家请教一个关于php+mysql字符编码问题,谢谢

简介:跟大家请教一个关于php+mysql字符编码问题,谢谢

【相关问答推荐】:

Python 爬虫字符编码问题,求解。

python3.x - windows下python3,print列表字符编码问题.

python - 关于字符编码问题

mysql只能插入特定的中文字符,什么原因?

字符编码 - python的tkinter的Text组件中文本编码的问题

热心网友 时间:2022-04-18 09:01

  无论在是在编辑文本文件的时候,还是在制作网页的时候,总会遇到文本编码方式的问题。如果处理不当,就会出现乱码的问题。因此,有必要对文本的编码方式做一个详尽的了解。
  常见的一些字符编码方式无非有:Unicode、ASCII、GBK、GB2312、UTF-8。下面先对常见的这一些字符编码方式作下说明:
  1.ASCII码
  这是美国在19世纪60年代的时候为了建立英文字符和二进制的关系时制定的编码规范,它能表示128个字符,其中包括英文字符、阿拉伯数字、西文字符以及32个控制字符。它用一个字节来表示具体的字符,但它只用后7位来表示字符(2^7=128),最前面的一位统一规定为0。
  2.扩展的ASCII码
  原本的ASCII码对于英文语言的国家是够用了,但是欧洲国家的一些语言会有拼音,这时7个字节就不够用了。因此一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使 用的编码体系,可以表示最多256个符号。但这时问题也出现了:不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样。比如,130在法语编码 中代表了é,在希伯来语编码中却代表了字母Gimel (?),在俄语编码中又会代表另一个符号。但是不管怎样,所有这些编码方式中,0—127表示的符号是一样的,不一样的只是128—255的这一段。这个问题就直接促使了Unicode编码的产生。
  3.Unicode符号集
  正如上一节所说,世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。而Unicode就是这样一种编码:它包含了世界上所有的符号,并且每一个符号都是独一无二的。比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字“严”。具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表 。很多人都说Unicode编码,但其实Unicode是一个符号集(世界上所有符号的符号集),而不是一种新的编码方式。
  但是正因为Unicode包含了所有的字符,而有些国家的字符用一个字节便可以表示,而有些国家的字符要用多个字节才能表示出来。即产生了两个问题:第一,如果有两个字节的数据,那计算机怎么知道这两个字节是表示一个汉字呢?还是表示两个英文字母呢?第二,因为不同字符需要的存储长度不一样,那么如果Unicode规定用2个字节存储字符,那么英文字符存储时前面1个字节都是0,这就大大浪费了存储空间。
  上面两个问题造成的结果是:1)出现了unicode的多种存储方式,也就是说有许多种不同的二进制格式,可以用来表示unicode。2)unicode在很长一段时间内无法推广,直到互联网的出现。
  4.UTF-8
  互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。重复一遍,这里的关系是,UTF-8是Unicode的实现方式之一。
  UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则很简单,只有两条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
  5.GBK/GB2312/GB18030
  GBK和GB2312都是针对简体字的编码,只是GB2312只支持六千多个汉字的编码,而GBK支持1万多个汉字编码。而GB18030是用于繁体字的编码。汉字存储时都使用两个字节来储存。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 怎么查询汉字的GB2312字符代码 在qq上萌萌是什么意思? 在qq上萌萌是什么意思? 我QQ名 女朋友帮我想的 这两个字什么意思 柠萌 我QQ名 女朋友帮我想的 这两个字什么意思 柠萌 求qq等级头衔名称,要萌萌的。 求qq等级头衔名称,要萌萌的。 那个萌萌好帅的qq名称怎么改? 那个萌萌好帅的qq名称怎么改? 我的小名叫萌萌,我想要一个带萌字的qq网名,要唯美的那种,尽量五个字,谢谢!! 米妮大萌萌全部的扣扣网名 扣扣昵称用符号代替,可爱的,萌萌的都可以,谢谢 帮我设计一个qq名字 女孩的 不要太复杂 要带 萌 这个字,不要花里胡哨的 有个性的 我喜欢的女孩子她叫“李萌萌”,希望各位帮我设计一个带有她的个性签名和QQ昵称 萌萌的男孩QQ网名!记着是非常萌O!&#xF60A;&#xF60A; qq昵称 简单可爱萌萌哒内种的 取个qq昵称,跟“萌”有关 如何水培碗莲,能存活开花吗 碗莲无土水养方法是什么? 碗莲怎么养?直接养在水里可以吗? 什么是字符编码 一道信息二进制和字符编码的问题!!在线等啊!谢谢了! 怎样获取字符对应的GB2312编码 求一段字符的编码方式 如何设置字符编码 什么是字符编码 他们各有什么特点 网页中常用的字符编码有哪些? 目前最常用的字符编码方式 关于网页字符编码 都有哪些字符编码 谁有unicode字符编码转换器注册码 台湾字符编码 字符编码的GBK 网站建设公司的案例有什么重要意义 网站建设有哪些建立客户关系的设计要素? 网站建设客户开发技巧:如何取得他们的信任 从网站建设角度互联网有哪些成功的案例 网站成功建设的案例 一个网站建设公司的问答营销案例? 网站建设客户需要提供哪些相关资料?