unicode码

python 编码

谁说我不能喝 提交于 2020-03-30 02:36:19
1. python2中默认使用的是ASCII码. 所以不支持中文. 如果需要在Python2中更改编码. 需要在文件的开始编写: # -*- encoding:utf-8 -*- 2. python3中:内存中使用的是unicode码.     1. ASCII : 最早的编码.里面有英文大写字母,小写字母, 数字, 一些特殊字符. 没有中文, 8个01代码, 8个bit, 1个byte     2. GBK: 中文国标码,里面包含 ASCII编码和中文常用编码. 16个bit, 2个byte     3. UNICODE: 万国码,里面包含了全世界所有国家文字的编码. 32个bit, 4个byte, 包含了ASCII     4. UTF-8: 可变长度的万国码. 是unicode的一种实现. 最小字符占8位     1.英文: 8bit 1byte     2.欧洲文字:16bit 2byte     3.中文:24bit 3byte 综上, 除了ASCII码以外, 其他信息不能直接转换. 在python3的内存中. 在程序运行阶段. 使用的是unicode编码. 因为unicode是万国码. 什么内容都可以进行显示. 那么在数据传输和存储的时候由于unicode比较浪费空间和资源. 需要把unicode转存成UTF-8或者GBK进行存储. 怎么转换呢

ASCII和万国码

房东的猫 提交于 2020-01-16 23:21:48
什么是ASCII 计算机的起初是使用内存中的0101来表示数和机器码。如何用内存中的bit来表示文本一直困扰着人们,毕竟人类主要的信息展示是文字,而不是苦涩的0101。后来ASCII码的发明成功的解决了“部分”问题。说白了ASCII码就是解决了一个以数字形式表示文本的问题。 ASCII码全称为美国信息交换标准码“American Standard Code for Information Interchange”。目前它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位) 7位ASCII码是用七位二进制数进行编码的,可以表示128个字符。其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。 第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等; 第33

字符,字节和编码, ASCII码, DBCS码,SBCS码 与Unicode码

让人想犯罪 __ 提交于 2019-12-16 14:39:51
http://www.regexlab.com/zh/encoding.htm 1. 编码问题的由来,相关概念的理解 1.1 字符与编码的发展 从计算机对多国语言的支持角度看,大致可以分为三个阶段:   系统内码 说明 系统 阶段一 ASCII 计算机刚开始只支持英语,其它语言不能够在计算机上存储和显示。 英文 DOS 阶段二 ANSI编码 (本地化) 为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。比如:汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。 不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码 。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码 的文本中。 中文 DOS,中文 Windows 95/98,日文 Windows 95/98 阶段三 UNICODE (国际化) 为了使国际间信息交流更加方便,国际组织制定了 UNICODE 字符集 ,为各种语言中的每一个字符设定了统一并且唯一的数字编号

字符串转换ASCII码、Unicode码

一世执手 提交于 2019-12-05 15:30:32
将字符串转成16进制的ASCii码的值 python: 使用python 内置函数repr可以将非ascii码转换成\x**的样式,如下: >>> a='我们都是中国人' >>> print repr(a) '\xe6\x88\x91\xe4\xbb\xac\xe9\x83\xbd\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba' >>> 好像换成非中文就不行了。 对于英文可以用这个: >>> a=''.join('\\x%02x' % ord(x) for x in 'Hello World!') >>> print a \x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21 bash: ada@barnabas:~> echo "ABCDE" | uni2ascii -Bsepq \x0041\x0042\x0043\x0044\x0045 ada@barnabas:~> echo "ABCDE" | uni2ascii -Bsepq | ascii2uni -Bq ABCDE C语言: void print_hex(const char *s) { while(*s) printf("\\x%02x", (unsigned int) *s++); printf("\n"); }

转:细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系

倾然丶 夕夏残阳落幕 提交于 2019-11-27 13:05:20
全文主旨总结: 一: 1个汉字 = 1个字 = 1个字符 二: 1个字符 = 1个字节 = 8bit(ACSII码下) 三: 1个字符 = 2个字节 = 16bit(Unicode码下) 四: 一般在处理汉字时,会默认将 编码方式调整为Unicode码,因为这样 数据容纳范围更大,不易出现乱码。 参考资料: 网址: http://www.lovetofang.net/index.php/22.html 转载于:https://www.cnblogs.com/xsyl/p/5760909.html 来源: CSDN 作者: weixin_34308389 链接: https://blog.csdn.net/weixin_34308389/article/details/94244821

字符编码ANSI和ASCII区别、Unicode和UTF-8区别

这一生的挚爱 提交于 2019-11-26 16:15:02
一.位: 计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。 二.字节 字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位,8个二进制位组成1个字节。在ASCII码中,一个标准英文字母(不分大小写)占一个字节位置,一个标准汉字占二个字节位置。 三.字符 字符是指计算机中使用的文字和符号,比如“1、2、3、A、B、C、~!·#¥%…*()+”等等。 四.ASCII码 先从最简单的ASCII说起吧,这个大家也熟悉:全名是American Standard Code for Information Interchange, 叫做“美国信息交换标准码”。ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。ASCII码是目前最普及的一种字符编码,它扎根于我们的互联网,操作系统,键盘,打印机,文件字体和打印机等。ASCII表如下: 当然,从这个名字美国信息交换标准码来看,ASCII码只适用于美帝,要是用在美帝之外的国家,就不能满足需求了。 ANSI码 ANSI编码是一种对ASCII码的拓展:ANSI编码用0x00~0x7f (即十进制下的0到127)范围的1 个字节来表示 1 个英文字符,超出一个字节的 0x80~0xFFFF 范围来表示其他语言的其他字符。也就是说

字符的编码

ぃ、小莉子 提交于 2019-11-26 12:04:51
ASCII码 8位一个字节,1个字节表示一个字符,即2**8 = 256,ASCII码最多只能表示256个字符 Unicode码 俗称万国码, UTF-8码 来源: https://www.cnblogs.com/yinyuanlin/p/11318944.html