Python中的序列类型有bytes和bytearray。

二进制序列类型的用法比较少见,是python中少用的一种序列类型,对于二进制序列类型,大家基本了解即可。

bytes二进制序列类型

指定长度的零填充字节对象: bytes(3)

二进制字符串对象:bytes(b'abc')

bytearray二进制数组

指定长度的零填充字节对象: bytearray(3)

二进制字符串对象:bytearray(b'abc')

实例:

print(type("ffff")) # 字符串类型

print(type(b"ffff")) # 字节类型

# bytes是byte的序列,字符串是字符的序列

# str---》bytes

s1 = "中"

b1 = s1.encode('utf-8') # 编码(encode)

print(b1)

# bytes--->str

s2 = b1.decode("utf-8") # 解码(decode)

print(s2)

输出结果:

b'\xe4\xb8\xad'

# 拓展

# str---》bytes

s = '杨斯浩'

b1 = bytes(s, encoding='utf-8') #utf-8:3个字节(3bytes)表示一个汉字

b2 = bytes(s, encoding='GBK') #GBK使用两个字节(2bytes)表示一个汉字

print(b1)

print(b2)

# bytes--->str

s1 = str(b1, encoding='utf-8')

s2 = str(b2, encoding='gbk')

print(s1)

print(s2)

输出结果:

b'\xe6\x9d\xa8\xe6\x96\xaf\xe6\xb5\xa9'

b'\xd1\xee\xcb\xb9\xba\xc6'

杨斯浩

杨斯浩

解析:utf-8:3个字节(3bytes)表示一个汉字,GBK使用两个字节(2bytes)表示一个汉字,所以“杨斯浩”3个汉字,utf-8 需要9个字节,GBK 需要6个字节。

# bytearray

s1 = "你好,韦梅"

b1 = bytearray(s1.encode('utf-8'))

print(b1)

print(type(b1))

print(b1.decode('utf-8'))

b1[:6] = bytearray("美丽", encoding="utf-8")

print(b1)

print(b1.decode('utf-8'))

输出结果:

bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe9\x9f\xa6\xe6\xa2\x85')

你好,韦梅

bytearray(b'\xe7\xbe\x8e\xe4\xb8\xbd\xef\xbc\x8c\xe9\x9f\xa6\xe6\xa2\x85')

美丽,韦梅

解析:"你好,韦梅"是5个字,所以utf-8需要15个字节表示。

编制by伟森leung 喜欢本文章的可以请关注伟森leung,后续有更多python方面的知识分享。

标签: bytes、bytearray的用法, python教程

python中byte2array报错_python基础-bytes和bytearray的用法相关推荐

  1. python中byte2array报错_python – 使用ByteArrays解压缩Zlib字符串

    我有一个用Adobe Flex 3和 Python 2.5开发的Web应用程序(部署在Google App Engine上).已经在Python中创建了一个RESTful Web服务,其结果目前采用X ...

  2. python中冒号报错_python新手常见错误和异常

    在python编程中,新手最常见的错入和异常如下 1.缺少冒号引起的错误 在if,elif,for,while,class,def声明末尾需要添加冒号(:),如果忘记添加,将会提示:"Syn ...

  3. python中冒号报错_python中一些常见的错误_后端开发

    PHP8 新特性之 Attributes_后端开发 PHP8的Alpha版本,过几天就要发布了,其中包含了不少的新特性,今天呢,我想谈谈Attributes,为啥呢, 是昨天我看到很多群在转发一个文章 ...

  4. python双引号报错_Python中select语句中的双引号”“怎么处理

    我把MySQL的语句中放在了Python中(我用的Pycharm),有个sql语句是如下:insertinto`level-1metric`(`Year`,`SupplyChain`,`Region` ...

  5. python后面空格报错_python中空格和table混用报错原因

    python是一门严格遵守缩进的语言,缩进的规则代表着程序的层级关系.我们来看一段代码.class MyForm(Form): value1 = StringField('value1') value ...

  6. python index 报错_python基础语法常见报错类型

    一.TypeError:类型错误,对象⽤来表示值的类型⾮预期类型时发⽣的错误. ### 错误例⼦: age=18 print('我的年龄是'+age) ### 报错信息:TypeError:canon ...

  7. python全局变量赋值报错_python全局变量、回调函数

    1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 ...

  8. python中print的本质_Python基础语法全解

    一.Python简介 1. 了解Python Python是一种解释型(这意味着开发过程中没有了编译这个环节).面向对象(支持面向对象的风格或代码封装在对象的编程技术).动态数据类型的交互式(可在命令 ...

  9. python class函数报错_Python multiprocess pool模块报错pickling error问题解决方法分析

    本文实例讲述了Python multiprocess pool模块报错pickling error问题解决方法.分享给大家供大家参考,具体如下: 问题 之前在调用class内的函数用multiproc ...

最新文章

  1. Git 面对不同的场景的命令使用
  2. WEBSERVICE之JDK开发webservice
  3. Oracle会话及连接数优化
  4. 拆分文件_领导让把工作表拆分每个文件,我花半个小时,同事1分钟搞定了
  5. python算法与数据结构-希尔排序算法(35)
  6. 免费下载 | 超全算法题精解,一本能“在线”编程的面试宝典
  7. git 大文件报错Out of memory, malloc failed、 The remote end hung up unexpectedly
  8. java ee程序设计师_软件设计师:Java EE开发四大常用框架[1]
  9. 在CentOS上搭建PHP服务器环境(可用)
  10. python导入excel模块_Excel到python第一章python利用pandas和numpy模块导入数据
  11. 通俗易懂的堆排序C++实现
  12. lintcode刷题目录
  13. Pr 音频效果参考:调制
  14. 四大学术牛人教你如何阅读外国文献
  15. iOS——百度地图点击标注事件
  16. java bss_数据段、代码段、堆栈段、BSS段的区别
  17. c语言中windows.h是什么意思,c语言中memory.h有什么作用
  18. proxmox换源_安装proxmox后注意事项
  19. 【AI数学原理】概率机器学习(四):半朴素贝叶斯之TAN算法实例
  20. WiFi功耗管理(三)(U-APSD)

热门文章

  1. CSS阿里矢量图标(字体图标)
  2. 自从掌握了Google和百度的 16 个高级搜索技巧,我再也没有解决不了的 bug 了
  3. 使用CloudCompare渲染好看的油麦菜点云的小方法
  4. 中国象棋残局库构建[抄]
  5. Python自动登陆淘宝并爬取商品数据
  6. lilypond笔记 -- Chopin Prelude G major
  7. python语言描述兰伯特pdf_数据结构PYTHON语言描述 [美] Kenneth A. Lambert 兰伯特
  8. 欧姆龙PLC项目程序NJ系列模切机程序
  9. 嵌入式系统开发设计---嵌入式系统开发设计
  10. 小凯机器人软件_微信小凯机器人_小凯机器人需要下载吗