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

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类型

你可能感兴趣的:(python,开发语言,软件测试)