python15-Python的字符串之字节串(bytes)

本文介绍了Python3中的字节串(bytes)类型,它用于代表字节序列,不同于字符串(str)。bytes对象是不可变序列,支持与str类似的方法。通过b前缀、bytes()函数或encode()方法可将字符串转为字节串。字节串常用于网络传输和存储二进制数据。同时,文章解释了字符集的概念,包括ASCII、Unicode以及UTF-8等。

Python3新增了bytes类型,用于代表字节串,是字节串不是字符串。

字符串(str)由多个字符组成,以字符为单位进行操作;

字节串(bytes)由多个字节组成,以字节为单位进行操作。

bytes和str 除操作的数据单元不同之外,它们支持的所有方法都基本相同,bytes 也是不可变序列。

bytes 对象只负责以字节(二进制格式)序列来记录数据,至于这些数据到底表示什么内容,完全由程序决定。

如果采用合适的字符集,字符串可以转换成字节串;

反过来,字节串也可以恢复成对应的字符串。

由于bytes保存的就是原始的字节(二进制格式)数据。因此,bytes 对象可用于在网络上传输数据,也可用于存储各种二进制格式的文件,比如图片、音乐等文件。

如果希望将一个字符串转换成bytes对象,有如下三种方式。

1)如果字符串内容都是ASCII字符,则可以通过直接在字符串之前添加b来构建字节串值;

2)调用 bytes()函数(其实是 bytes 的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用UTF-8字符集。

3)调用字符串本身的encode)方法将字符串按指定字符集转换成字节串,如果不指定字符集默认使用UTF-8字符集。

例如,如下程序示范了如何创建字节串。

# !/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2024/01

# @Author : Laopi

#创建一个空的bytes

b1 = bytes()

#创建一个空的bytes值

b2 = b''

#通过b前缀制定laopi是bytes类型的值

b3 = b'laopi'

print(b3)

print(b3[0])

print(b3[2:4])

#调用bytes方法将字符串转行成bytes对象

b4 = bytes('软件测试老痞和软件测试划水老师傅,oh yeah',encoding='utf-8')

print(b4)

#利用字符串的enc
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试老痞

你的支持,是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值