栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

右耳零基础Python--字符编码,解码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

右耳零基础Python--字符编码,解码

目录

一,字符编码

1.1字符集和编码

1.1.1ascii

1.1.2ANSI

1.1.3Unicode

 1.2总结:

二,解码

2.1bytes


一,字符编码

1.1字符集和编码

1.1.1ascii

1.1.2ANSI

1.1.3Unicode


0 1==》10110010010
电脑如何存储文字信息
ascii==>编排了128个字符,只需要7个0和1就可以表示,预留出一位表示特殊符号,所以八位比特位等于一个字节byte
很显然128个字符不能满足需求,美国设置了一套标准ANSI 2byte
00000000 00000000
到了中国,gb2312编码,gbk编码(window默认)

到了台湾,big5编码
问题:编码相同,但解释不同,交流障碍
Unicode:万国码
早期没有意思到这个问题,UCS-2 2个字节
进行扩充,UCS-4 4个字节
00000000 00000000 00000000 10000000
浪费空间,解决
utf是可变长度的Unicode,可以进行数据的传输和存储
utf-8 最短的字节长度
   英文;8bit,1byte
   欧洲文字:16bit,2byte
   中文:24bit,3byte
 utf-16,最短的字节长度是16


 1.2总结:


 ascii 8bit 1byte
 gbk 16bit 2byte window默认
 unicode 32bit 4byte(没法用只是一个标准)
 utf-8  mac默认·
   英文;8bit,1byte
   欧洲文字:16bit,2byte
   中文:24bit,3byte

 gbk和utf-8不能直接转化,标准不同。

二,解码

2.1bytes


程序员平时遇到的所有数据最终单位都是字节
 # s="周杰伦"
# s1=s.encode('gbk')#2个字节
# s2=s.encode("utf_8")#3个字节
# print(s1)
# print(s2)

b'xd6xdcxbdxdcxc2xd7'
b'xe5x91xa8xe6x9dxb0xe4xbcxa6'

s1=s.decode("gbk")
print(s1)
s2=s1.encode("utf_8")
print(s2)
#str.encode("编码规则")进行编码
#bytes.decode("编码规则")进行解码
s="年后asn"
s2=s.encode("utf_8")
print(s2)#b'xe5xb9xb4xe5x90x8easn' 中文三个字符,英文一个字符

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/329452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号