Python3中str、bytes、bytearray转化

liftword4个月前 (01-16)技术文章25

简介

str是采用Unicode编码方式的序列,主要用于显示
bytes是字节序列,主要用于网络和文件传输
bytearray和bytes是一样的,只是它是可变的,它们的关系和str与list类似

str和bytes的相互转化就是编码和解码

str转bytes

使用函数encode

  1. In [2]: s1 = "123abc456ffff"
  2. In [4]: b = s1.encode("utf-8")
  3. In [5]: print(b)
  4. b'123abc456ffff'
  5. In [6]:

bytes转str

使用函数decode

  1. In [6]: s2 = b.decode("utf-8")
  2. In [7]: print(s2)
  3. 123abc456ffff
  4. In [8]:

如果是定义一个bytes:

  1. b = b'123abc456ffff'

bytes和str转化为bytearray

bytes和str转化为bytearray都依赖于bytearray函数

bytes --> bytearray

  1. In [8]: b = b'dafafasfasfsad22136436'
  2. In [10]: s1 = bytearray(b)
  3. In [11]: print(s1)
  4. bytearray(b'dafafasfasfsad22136436')
  5. In [12]:

str–>bytearray

  1. In [8]: b = 'dafafasfasfsad22136436'
  2. In [10]: s1 = bytearray(b)
  3. In [11]: print(s1)
  4. bytearray(b'dafafasfasfsad22136436')
  5. In [12]:

hex字符串转为bytearray

  1. In [12]: hexs = "1289"
  2. In [13]: br = bytearray.fromhex(hexs)
  3. In [14]: print(br)
  4. bytearray(b'\x12\x89')
  5. In [15]:

bytearray转为str和bytes

  1. byarray=bytearray("aabbcc",encoding='utf-8')
  2. str=byarray.decode('utf-8')
  3. bytes=bytes(byarray)
  4. print (byarray)
  5. bytearray(b'aabbcc')
  6. print(str)
  7. aabbcc
  8. print(bytes)
  9. b'aabbcc'

相关文章

第20p,什么是字符串?Python中的str

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第20篇文章,第二阶段的课程:Python基础知识:Python的字符串(上篇)学习本课程,建议先看一遍:【计算机基础知识】课程。 一、什么是字...

「Python教程」第6篇 Python基本语法之字符串

从本篇开始,我们开始学习Python的基本语法。由于字符串是在程序中最常用到的数据类型,那么就先从字符串开始。目录如何表示字符串多行字符串转义字符禁止转义格式化字符串关联文章列表如何表示字符串在Pyt...

python之魔术方法1:call、len、str、repr

__call__方法说明:让一个对象的实例变成可执行的。案例:class Cat: '''猫类''' def __init__(sel...

「oeasy」python0017_解码_decode_字节序列_bytes_字符串_str

解码 decode回忆上次内容code就是码最早也指电报码后来有各种编码、密码、砝码、条码都指的是把各种事物编个号encode就是编码编码就是给事物编个号编码基本了解了给事物编号就是编码怎么通过编号找...