美文网首页python教程
python22-python字符编码

python22-python字符编码

作者: 筱媛媛 | 来源:发表于2019-05-26 18:34 被阅读0次

本篇主要讲的是python字符编码问题,包括ASCII发展史以及编码和解码的相关操作。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!

01:常见的几个相关概念

1)位:bit,计算机的最小单位二进制中的一位。用二进制的0/1表示。

2)字节:byte,八位就是一个字节。一个字节最多有256种组合方式:2^8。

3)字符:肉眼可见的文字与符号。一个汉字、字母、标点符号都是一个字符。

4)字符集:字符的集合。

5)编码:encode将字符转换为计算机可识别的0/1代码。

6)解码:decode将计算机表示的0/1编码转换为肉眼可见的字符。

7)注意:一个汉字算2个英文字符,指的是占用的内存空间

02:ASCII编码的发展史
编码名称 编码特点 字符长度 表现
ASCII 只能表示英文/数字/控制符等,不能表示中文 1个字节 字符、阿拉伯数字、大小写字母等
GB2312 可以表示中文,图形字符等 2个字节 7000多个简体字等
GBK 兼容GB2312windowns中文版系统的编码 2个字节 两万多个汉字[包括繁体]
GB18030 1字节与ASCII兼容;2字节与DBK兼容 1/2/4个字节 70244多个/,各种少数民族字符
Unicode 跨语言跨平台 英文1个字节;中文2个字节 万国码
UTF-8 作为Unicode的一种实现方式 ASCII1个字节;欧洲字符2个字节;中文2/3个字节 编码体积大
03:查看单个字符的Unicode值(ord、chr)

1)ord()函数获取字符的整数表示 ; chr()函数把编码转换为对应的字符

2)注意:python3中字符串都是用Unicode编码的

print(ord('媛'))     #获取字符的整数表示:23195
print(chr(23165))    #编码转换为对应的字符:婽
04:bytes和str

1)python中的字符串类型是str,在内存中以Unicode表示。一个字符对应若干个字节

2)在网络上传输或者保存在磁盘上,就需要把str变为以字节为单位的bytes。用b'字符串'表示。

3)编码:用Unicode表示的str通过encode()方法可以编码为指定的bytes

4)解码:从网络或磁盘读取了字节流,通过decode()方法可以把bytes变为str

5)注意:

bytes类型的每个字符只占1个字节

汉字不能直接转换为bytes类型,ASCII码无法直接编译中文

字符串没有decode方法,需要先encode编码成bytes类型再decode

a=b'ABC!'
print(a)#bytes类型:默认16进制

#注意:encode后面指定的编码方式一定要能编码该字符串
b='我爱python'#str类型
print(b.encode('utf8'))#编码:以utf8的形式编码成bytes类型
print(b'\xe6\x88\x91\xe7\x88\xb1python'.decode('utf8'))#解码

#注意:编码和解码需要一致
c='中国'.encode('utf8')
print(c.decode('gb18030'))#编码和解码不一致会出现乱码:‘涓浗’
print(c.decode('utf8'))#解码:‘中国’

相关文章

  • python22-python字符编码

    本篇主要讲的是python字符编码问题,包括ASCII发展史以及编码和解码的相关操作。希望感兴趣的小伙伴可以坚持看...

  • 部分知识点

    chr(编码值) - 将字符编码转换成字符 ord(字符) - 获取字符对应的编码值 可以将字符编码放到字符串中便...

  • 字符编码知识梳理

    [toc] 字符编码: 字符编码(英语:Character encoding)、字集码是把字符集中的字符编码为指定...

  • Python正式课第十三天

    一、文件操作与字符编码 1. 字符编码 编码 将字符转换为对应的二进制序列的过程叫做字符编码(字符->二进制01)...

  • 字符编码

    一. 什么是字符编码? 字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为...

  • python 高级方法

    Python的字符串类型 字符编码方法 查看Python中的字符串编码名称,查看系统的编码 源文件字符集编码声明:...

  • Java内存中的文本编码

    1、编码简介 1.1 概念简析:字符、字符集、编码字符集、Code Point、Code Unit和字符编码格式 ...

  • python 字符 编码 简述

    字符编码问题很简单,当你可以区分以下几种概念之后: 字节编码与字符编码 字节串与字符串 文件编码、IDE编码、其他...

  • 13.Python之字符编码

    Python之字符编码 字符编码字符编码记录的是二进制与文字的对应关系。 常见的字符编码ASCII码:包含英文字母...

  • 笔记-encode与decode

    字节串-->decode('原来的字符编码')-->Unicode字符串-->encode('新的字符编码')--...

网友评论

    本文标题:python22-python字符编码

    本文链接:https://www.haomeiwen.com/subject/kelttctx.html