百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Python bytes类型及用法

liuian 2025-03-01 14:37 41 浏览

Pythonbytes类型用来表示一个字节串。“字节串“不是编程术语,是我自己“捏造”的一个词,用来和字符串相呼应。

bytes是Python3.x新增的类型,在Python2.x中是不存在的。

字节串(bytes)和字符串(string)的对比:

字符串由若干个字符组成,以字符为单位进行操作;字节串由若干个字节组成,以字节为单位进行操作。

字节串和字符串除了操作的数据单元不同之外,它们支持的所有方法都基本相同。

字节串和字符串都是不可变序列,不能随意增加和删除数据。

bytes只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定。如果采用合适的字符编码方式(字符集),字节串可以恢复成字符串;反之亦然,字符串也可以转换成字节串。

说白了,bytes只是简单地记录内存中的原始数据,至于如何使用这些数据,bytes并不在意,你想怎么使用就怎么使用,bytes并不约束你的行为。

bytes类型的数据非常适合在互联网上传输,可以用于网络通信编程;bytes也可以用来存储图片、音频、视频等二进制格式的文件。

字符串和bytes存在着千丝万缕的联系,我们可以通过字符串来创建bytes对象,或者说将字符串转换成bytes对象。有以下三种方法可以达到这个目的:

如果字符串的内容都是ASCII字符,那么直接在字符串前面添加b前缀就可以转换成bytes。

bytes是一个类,调用它的构造方法,也就是bytes(),可以将字符串按照指定的字符集转换成bytes;如果不指定字符集,那么默认采用UTF-8。

字符串本身有一个encode()方法,该方法专门用来将字符串按照指定的字符集转换成对应的字节串;如果不指定字符集,那么默认采用UTF-8。

【实例】使用不同方式创建bytes对象:

#通过构造函数创建空 bytes
b1 = bytes()
#通过空字符串创建空 bytes
b2 = b''
#通过b前缀将字符串转换成 bytes
b3 = b'https://topic.kaikeba.com/biancheng/python/jiaocheng'
print("b3: ", b3)
print(b3[3])
print(b3[7:22])
#为 bytes() 方法指定字符集
b4 = bytes('开课吧8岁了', encoding='UTF-8')
print("b4: ", b4)
#通过 encode() 方法将字符串转换成 bytes
b5 = "开课吧8岁了".encode('UTF-8')
print("b5: ", b5)123456789101112131415复制代码类型:[python]

运行结果:

b3:  b'https://topic.kaikeba.com/biancheng/python/jiaocheng'
112
b'c.kaikeba.net'
b4:  b'C\xe8\xaf\xad\xe8\xa8\x80\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x918\xe5\xb2\x81\xe4\xba\x86'
b5:  b'C\xe8\xaf\xad\xe8\xa8\x80\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x918\xe5\xb2\x81\xe4\xba\x86'12345复制代码类型:[html]

从运行结果可以发现,对于非ASCII字符,print输出的是它的字符编码值(十六进制形式),而不是字符本身。非ASCII字符一般占用两个字节以上的内存,而bytes是按照单个字节来处理数据的,所以不能一次处理多个字节。

bytes类也有一个decode()方法,通过该方法可以将bytes对象转换为字符串。紧接上面的程序,添加以下代码:

纯文本复制

#通过 decode() 方法将 bytes 转换成字符串
str1 = b5.decode('UTF-8')
print("str1: ", str1)123复制代码类型:[python]

输出结果:

str1:  开课吧8岁了

「链接」

相关推荐

台式电脑连接无线网卡(台式电脑连接无线网卡吗)
  • 台式电脑连接无线网卡(台式电脑连接无线网卡吗)
  • 台式电脑连接无线网卡(台式电脑连接无线网卡吗)
  • 台式电脑连接无线网卡(台式电脑连接无线网卡吗)
  • 台式电脑连接无线网卡(台式电脑连接无线网卡吗)
怎么进入tp link无线路由器设置
怎么进入tp link无线路由器设置

tp-link路由器的设置登录入口进入方法如下1.打开tplogin.cn页面,点击右上角的“登录”菜单。2.输入用户名和密码,点击登录按钮,进入登录页面。3.如果你忘记了用户名或密码,可点击忘记密码,并输入注册邮箱或者手机号,点击确认,系...

2025-12-31 08:05 liuian

电脑莫名重启怎么回事(电脑莫名奇妙的重启)

电源的大电容漏电,供电不足造成的,这个就要更换电源2、主板上的内存插槽和内存之间接触不良出现问题,或者内存的显存集成块出现虚焊也会出现老是重启3、CPU风扇出问题,或者散热器的卡子松了。当CPU的风扇...

如何一键还原电脑系统win7(一键还原win7系统按那个键)

方法如下:  1、下载“一键GHOST硬盘版”用压缩工具软件解压,解压后选“setup.exe”文件,即自动把一键还原安装到硬盘中。安装完成后,在桌面和开始菜单将建立程序的快捷方式:  Win7系统...

笔记本键盘无法使用(dell笔记本电脑键盘失灵一键修复)

个别键因为脏了接触不好或者是弹簧失去了弹性,可以自行打开键盘,用无水酒精清洗一下键盘内部。修改笔记本键盘的驱动:通过“我的电脑”打开系统属性,选择硬件标签,打开设备管理器,我们发现中文Windows...

u启宝装机工具(u启宝装系统)

1、将下载好的ghostwin7系统镜像文件拷贝到u盘内,重启电脑,在看到开机画面时按下相应的启动快捷键(大家可以到u启动官网查找相应的快捷键)即可进入u启动的主菜单界面,随后选择usb选项并按回车...

找回wifi密码的方法(找回wifi密码怎么找)

1、在已经连接WiFi的手机上操作:在手机桌面找到设定,进入到手机设置页面。2、在设置中,找到WLAN也就是无线局域网,点击进入无线网络的查看或配置页面。3、进入到WLAN页面后,我们会看见周围的Wi...

电脑软件下载网址(电脑软件下载网址排行)
  • 电脑软件下载网址(电脑软件下载网址排行)
  • 电脑软件下载网址(电脑软件下载网址排行)
  • 电脑软件下载网址(电脑软件下载网址排行)
  • 电脑软件下载网址(电脑软件下载网址排行)
win7系统怎么打开光驱(w7系统怎么打开光盘)

win7中设置光驱为第一启动项的步骤:1、开机时按F2键或者DEL键,进入BIOS系统;注:机器型号不同,进入BIOS的按键可能有所不同,具体可参看左下角的屏幕提示。2、选择Startup,选择Boo...

下划线怎么打出来 word(下划线怎么打出来电脑上的)
下划线怎么打出来 word(下划线怎么打出来电脑上的)

1.word中,点击开始菜单栏下的下划线设置图标。2.按键盘上的tab键,也可以按空格键3.就可以在word文档中打出下划线了。在Word文档中添加下划线的方法有两种:1.在需要下划线的文本后面输入“Shift+短横线”即可。2.选...

2025-12-31 04:05 liuian

360路由器卫士电脑版(360路由器卫士在哪里)
360路由器卫士电脑版(360路由器卫士在哪里)

先打开360官网,下载360软件管家,再从360软件管家里下载360卫士1、360路由器卫士里面的路由器密码是指登录路由器时所使用的用户名及密码,便于用户访问路由器,打开路由器设置界面设定的。2、正常情况下登录路由器需打开浏览器,输入路由器...

2025-12-31 03:55 liuian

wifi暴力解锁2025(wifi暴力解锁幻影)

无法破解。因为MC2023并不是一个真实存在的东西,因此也不存在破解的问题。如果您指的是某种软件或设备,那么具体的破解方式与法律道德等方面都有关联,本系统无法给出建议。2023吉祥兔的解锁方式主要有以...

u盘格式化还能恢复数据吗(u盘格式化之后可以恢复吗)

可以的,先下载U盘数据恢复大师然后按照下面的操作:一、单击“U盘手机相机卡恢复”模式,本模式可以恢复:各类原因丢失的U盘和内存卡的数据。二、选择你的U盘或者内存卡,然后点击下一步。注意提示电脑中未发...

w10系统怎么连接wifi(W10系统怎么连接热点)
  • w10系统怎么连接wifi(W10系统怎么连接热点)
  • w10系统怎么连接wifi(W10系统怎么连接热点)
  • w10系统怎么连接wifi(W10系统怎么连接热点)
  • w10系统怎么连接wifi(W10系统怎么连接热点)
iso镜像文件解压

在PE系统中解压镜像包,可以使用相关的解压工具进行操作。首先,通过文件管理器或者命令行进入到镜像包所在的目录。然后,使用解压工具打开镜像包文件,选择解压的路径和文件名,并点击解压按钮。解压过程可能需要...