Python:字节型与字符型之间的转换

python 中某些模块对数据进行处理时返回的结果可能是字节型对象,但是下一步使用的参数需要的是字符型对象,这里简单记录一下字节型与字符型之间的转换。

目录

一、字节与字符

(一)字符对象

(二)字节对象

二、字符型转字节型

二、字节型转字符型


一、字节与字符

首先我们得明确字节是给计算机看的,而字符是给人看的

(一)字符对象

创建字节对象的方法很简单,有两种

>>> a = '123'
>>> a
'123'
>>> type(a)
<class 'str'>
>>> a = str(123)
>>> a
'123'
>>> type(a)
<class 'str'>

(二)字节对象

创建字节对象的方法有两种

>>> b = b'123'
>>> b
b'123'
>>> type(b)
<class 'bytes'>
>>> b = bytes(123)
>>> b
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> type(b)
<class 'bytes'>

二、字符型转字节型

同样也有两种方法:

>>> b = bytes(a)
>>> b
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> type(b)
<class 'bytes'>
>>> b = a.encode()
>>> b
b'123'
>>> type(b)
<class 'bytes'>

二、字节型转字符型

两种方法:

>>> a = b.decode()
>>> a
'123'
>>> type(a)
<class 'str'>
>>> a = str(b)
>>> a
"b'123'"
>>> type(a)
<class 'str'>

该方法输出的结果可能与预想不同,读者可以通过如下代码调整:

>>> a = a.replace("b'", "").replace("'", "")
>>> a
'123'
>>> type(a)
<class 'str'>
发布了25 篇原创文章 · 获赞 37 · 访问量 2927

猜你喜欢

转载自blog.csdn.net/qq_41297934/article/details/105276672
今日推荐