python中的字节串无法格式化,得到的网页有时是字节串,需要转换后再解析。下面这篇文章主要介绍Python中bytes字节串和string字符串之间的转换方法,有需要的朋友可以参考一下。
目录
后台代码描述:验证一下。附件总结了字节和字符串的区别。
背景
工作中经常会遇到字节和字符串之间的转换问题,所以做个记录。
Bytes只负责以字节序列的形式(二进制形式)存储数据,并不关心数据本身是图片、文字、视频等。如果需要使用和显示,可以按照相应的解析规则进行处理,得到相应类型的数据。比如常见的字符串类型,只需要使用相应的字符编码格式就可以得到字符串的内容。
下面的代码将用于表示字节的构造以及字节和字符串之间的转换。
代码
先看代码。
#!/user/bin/env python
#编码=utf-8
'''
@project : csdn
@作者:胡艺
@ file:byte _ to _字符串. py
@ide : PyCharm
@时间:2021-12-23 11:47:45
'''
#不要指定字符集
“我爱你,宝贝”
打印(' b1 ',b1)
打印(b1[:-3])
#指定字符集
B2=字节('今天天气真好/哈哈',编码='UTF-8 ')
打印(' b2 ',b2)
#字符串转换为字节
Str1='超宇宙会导致人类文明停滞吗?'
b3=str1.encode('UTF-8 ')
打印(' b3 ',b3)
字符串方法1的字节数
str2=str(b3,' UTF-8 ')
打印(' str2 ',str2)
字符串方法1的字节数
str3=b3.decode('UTF-8 ')
打印(' str3 ',str3)
代码说明:
1.可以通过在字符串前面添加小写字母B来定义字节,但不建议这样做。建议使用b2定义,字符编码可以调整。
2.根据encode方法的字符编码,字符串类型数据可以转换为字节。
3.通过str构造指定字符编码或解码方法,也可以将字节转换为字符串。
验证一下
PyDev控制台:正在启动。
Python 3.6.13 |Anaconda,Inc.|(默认,2021年3月16日,11:37:27) [MSC v.1916 64位(AMD64)]在win32上
run file(' D:/spyder/csdn/tool/byte _ to _ string . py ',wdir='D:/spyder/csdn/tool ')
'我爱你,宝贝'
我爱你,b
' B2 b ' \ xe4 \ xbb \ x8a \ xe5 \ xa4 \ xa9 \ xe5 \ xa4 \ xa9 \ xe6 \ xb0 \ x94 \ xe7 \ x9c \ x9f \ xe5 \ xa5 \ xbd/\ xe5 \ x93 \ x88 \ xe5 \ x93 \ x88 '
B3 b ' \ xe5 \ x85 \ x83 \ xe5 \ xae \ x87 \ xe5 \ xae \ x99 \ xe4 \ xbc \ x9a \ xe5 \ xaf \ xbc \ xe8 \ x87 \ xb4 \ xe4 \ xba \ xbb \ xbb \ xe6 \ x96 \ x87 \ xe6 \ x98 \ x8e \ xe7 \ x9a \ x84 \ xe5 \ x81 \ x9c \ xe6 \ xbb \ x9e \ xe9
2元宇宙会导致人类文明停滞吗?
3元宇宙会导致人类文明停滞吗?
附:bytes和string区别
1.pythonbytes,也称为字节序列,不是字符。取值范围为0=bytes=255,输出的前面会用字符B修饰;是string python中的字符串类型;
2 .字节主要是给电脑用的,字符串主要是给人用的;
3 .字符串被编码,转换成二进制对象,并被计算机识别;字节解码解码转换成字符串,我们来看一下。但是注意反向编码的编码规则是有范围的,\xc8不是utf8识别的范围;
if __name__=='__main__ ':
#字节对象b
b=b'shuopython.com '
#字符串对象s
s='shuopython.com '
打印(b)
打印(类型(b))
印刷品
打印(类型)
输出结果:
' shuopython.com '
类'字节'
shuopython.com
类别“str”
总结
关于Python中字节和字符串之间转换的这篇文章到此为止。有关Python字节和字符串转换的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。