python字符编码

几种常见的字符编码

编码 所占字节数
ASCII(英文字母及欧洲语言) 8bit/1bytes
Unicode(国际标准组织统一标准字符集) 2bytes
GB2312(简体中文字符集) 2bytes
GBK(GB2312扩展字符集,支持繁体,兼容GB2312) 2bytes
UTF-8(不定长编码) 1~3bytes

ASCII :
常见换算单位:bit 位,计算机中最小的表示单位
       8bit = 1bytes 字节,最小的存储单位,1bytes缩写为1B
GBK 和 GB2312:中文编码

字符编码工作方式:在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。件读取的UTF-8字符被编码为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode解码为UTF-8保存到文件

python字符编码_第1张图片

Bytes类型

数据存储到硬盘,硬盘只能存储二进制
2进制 -->10进制----asscii/gbk/utf-8/ unicode
数据往硬盘上存,就要亦相应的编码转成二进制后存储
文件–>utf-8/gbk -->2进制
图片–>jpg/pang -->2进制
音乐->mp3/wav–>2进制
食品->mp4/wov–>2进制

>>>s="达芬奇"
>>>s
'达芬奇'
>>>s.encode("utf-8")
b'\xe8\xbe\xbe\xe8\x8a\xac\xe5\xa5\x87'   #有九个字节(utf-8:一个中文占三个字节);这是个二进制,以十六进制的形式展现(可读性)
>>>

bytes类型,2个16进制数构成一个bytes,以b’'来标识,字节串
(pycharm 默认加载文件是utf-8编码,可在文件头自定义识别编码 encoding=" **** ")

字符编码的转换

str=‘你好,世界’
编码: str.encode(‘utf-8’) #以utf-8编码成2进制
解码: str.decode(‘utf-8’) #从2进制解码成unicode字符串
编码的转化:unicode和任何编码有映射关系,先把编码转成unicode,unicode再进行转成编码

你可能感兴趣的:(笔记)