Python语言经验总结:中字节、字符串和编码

Python中的字节码用b'xxx'的形式表示。x可以用字符表示,也可以用ASCII编码形式\\xnn表示,nn从00-ff(十六进制)共256种字符。一、基本操作

下面列举一下字节的基本操作,可以看出来它和字符串还是非常相近的:

Python语言经验总结:中字节、字符串和编码

字节操作

如果想要修改一个字节串中的某个字节,不能够直接修改,需要将其转化为bytearray后再进行修改:

Python语言经验总结:中字节、字符串和编码

修改界面二、字节与字符的关系

上面也提到字节跟字符很相近,其实它们是可以相互转化的。字节通过某种编码形式就可以转化为相应的字符。字节通过encode()方法传入编码方式就可以转化为字符,而字符通过decode()方法就可以转化为字节:

Python语言经验总结:中字节、字符串和编码

字节与字符的转化

我们可以看到用不同的编码方式解析出来的字符和字节的方式是完全不同,如果编码和解码用了不同的编码方式,就会产生乱码,甚至转换失败。因为每种编码方式包含的字节种类数目不同,如上例中的\\xc8就超出了utf-8的最大字符。三、应用

举个最简单的例子,我要爬取一个网页的内容,现在来爬取用百度搜索Python时返回的页面,百度用的是utf-8编码格式,如果不对返回结果解码,那它就是一个超级长的字节串。而进行正确解码后就可以显示一个正常的html页面。

Python语言经验总结:中字节、字符串和编码

编码格式显示

以上就是本文的全部内容,希望对大家学习python程序设计有所帮助四、编码问题unicode 与 utf-8 的关系

unicode 是 character set,·character set 是把每个字符对应成数字的集合,比如unicode中 A对应0041,汉字『我』对应 ‘6211’。unicode 是个很大的集合,几乎覆盖世界上所有的字符,现在的规模已经可以容纳100万个字符。utf-8 是对 unicode 存储的实现方式

unicode 只定义字符对应的数字,但没有规定这些数字如何存储起来,比如像中文的『我』字存储时需要两个字节来表示,而英文字母A却只需要一个字节,有些其他的字符可能需要3-4个字节。

如果统一规定每个字符用3个或者4个字节来存储,那么每个英文字符都必然需要额外2到3个0,这对存储是很大的浪费。如果每个字符按照实际需要的字节数来存储,计算机就分不清三个字节是表示三个字符还是一个字符。

utf-8 是对 unicode 编码存储的一种实现方式,同样的还有 utf-16, utf-32。

utf-8 是使用最广泛的编码方式,采用变长的编码方式,可以使用1-4个字节来表示一个字符; utf-16 用2个或4个字节,utf-32 用4个字节表示。编码规则如下:

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

2.对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。五,字符编码转换

​上面提到,UNICODE字符串可以与任意字符编码的字节进行相互转换,如图:

Python语言经验总结:中字节、字符串和编码

字符转换显示图

物联网知识微信号:暂无扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1 高斯平面直角坐标系纵轴(高斯平面直角坐标系纵轴是什么)

    大家好,小豪今天来为大家解答高斯平面直角坐标系纵轴以下问题,高斯平面直角坐标系纵轴是什么很多人还不知道,现在让我们一起来看看吧!1、

  2. 2 ue设计是什么(ued设计是什么意思)

    大家好,小伟今天来为大家解答ue设计是什么以下问题,ued设计是什么意思很多人还不知道,现在让我们一起来看看吧!1、UE设计是用户体验设计的简

  3. 3 excel百分率计算公式(excel百分数怎么计算)

    大家好,小美今天来为大家解答excel百分率计算公式以下问题,excel百分数怎么计算很多人还不知道,现在让我们一起来看看吧!1、百分比算法如下:

  4. 4 人造草皮价格表(人造草皮一方价格)

    大家好,小伟今天来为大家解答人造草皮价格表以下问题,人造草皮一方价格很多人还不知道,现在让我们一起来看看吧!1、铺设成本大约3~5元一平

  5. 5 多兰纳尔(多兰纳尔杂货商在哪)

    大家好,小乐今天来为大家解答多兰纳尔以下问题,多兰纳尔杂货商在哪很多人还不知道,现在让我们一起来看看吧!1、在魔兽世界的多兰纳尔,学

  6. 6 小班歌曲教案(小班歌曲教案春天)

    大家好,小伟今天来为大家解答小班歌曲教案以下问题,小班歌曲教案春天很多人还不知道,现在让我们一起来看看吧!1、幼儿园小班音乐《小星星

  7. 7 补肾疯子汤教授(补肾疯子视频)

    大家好,小丽今天来为大家解答补肾疯子汤教授以下问题,补肾疯子视频很多人还不知道,现在让我们一起来看看吧!1、汤老师的补肾汤有一定的药

  8. 8 英文大写怎么打(英文大写怎么写)

    大家好,小伟今天来为大家解答英文大写怎么打以下问题,英文大写怎么写很多人还不知道,现在让我们一起来看看吧!1、使用Shift键:按住键盘上

Copyright 2024 看看网,让大家及时掌握各行各业第一手资讯新闻!