1. bytes(source)

--source为字符串时,则按照指定的 encoding 将字符串转换为字节序列bytes('123asd', encoding='utf-8')           # 输出为:b'123asd'bytes('我', encoding='utf-8')               # 输出为:b'\xe6\x88\x91'
--source为数字n(可以写为任意进制)时,则表示初始化n个字节的bytes序列,bytes(5)                               # 输出为:b'\x00\x00\x00\x00\x00'
--source为可迭代类型,则元素必须为[0 ,255] 中的整数bytes([1, 2, 3, 4])                        # 输出为:b'\x01\x02\x03\x04'

同样是bytes类型的数据,为什么有的显示为b’123’这样子的,有的显示为b’\x00\x00\x00\x00\x00’?

因为utf-8和ASCII(包含数字0-9,英文Aa-zZ,以及一些符号)是兼容的,所以只是显示为b’123’,实际字节类型的存储形式都是二进制

2. bytes().hex()和bytes.fromhex()

--bytes(source).hex()功能:将source转换为字节类型,然后以16进制字符串的形式显示出来参数:source的类型同上返回值:返回值为16进制字符串类型实例:bytes('123', encoding='utf-8').hex()   # 输出为:313233  类型为<class 'str'>--bytes.fromhex(hexstr)功能:将传入的16进制字符串转换为字节类型,返回值:字节类型, 形式可为b'', b'\x00\x00\x00\x00\x00'bytes.fromhex('313233')                  # 输出为:b'123'

3. binascii.a2b_hex(hexstr) | binascii.unhexlify(hexstr) | bytes.fromhex(hexstr)

 --功能:将16进制字符串转换为字节类型--参数hexstr:必须包含偶数个十六进制数字(可以是大写或小写)--返回值:由十六进制字符串hexstr表示的二进制数据实例:bytes.fromhex('313233')                    # 输出为:b'123'binascii.a2b_hex('313233')               # 输出为:b'123'binascii.unhexlify('313233')         # 输出为:b'123'bytes.fromhex('abdc')                    # 输出为:b'\xab\xcd'binascii.a2b_hex('abcd')                # 输出为:b'\xab\xcd'binascii.unhexlify('abcd')              # 输出为:b'\xab\xcd'

4. binascii.b2a_hex(字节串) | binascii.hexlify(字节串) |

 --功能:传入二进制,得到ascii编码的二进制形式--参数:字节串--返回值:返回二进制数据的十六进制表示实例:binascii.hexlify(b'abcd')             # 输出为:b'61626364' <class 'bytes'>binascii.b2a_hex(b'abcd')               # 输出为:b'61626364' <class 'bytes'>binascii.hexlify(b'%/\x8d\x80\xe6\xee\xb4\xcfB\x1c\xbaa\xb1\x07$\xee\xeb')              # 输出为:252f8d80e6eeb4cf421cba61b10724eeebbinascii.b2a_hex(b'%/\x8d\x80\xe6\xee\xb4\xcfB\x1c\xbaa\xb1\x07$\xee\xeb')             # 输出为:252f8d80e6eeb4cf421cba61b10724eeeb

学习借鉴:
https://www.cnblogs.com/liming19680104/p/12175570.html (python–binascii–二进制和ASCII编码的二进制的转换)
https://www.pynote.net/archives/1383 (int与bytes的转换)

最后,感谢每一个无私分享的博主!

python-关于字节类型的转换相关推荐

  1. python变量、类型及转换

    python变量 python变量就是指:在运行过程中可能会发生变化的量,这个可能发生变化的量被称为变量.通常情况下:变量名称等于变量值.那么这个变量需要满足那些规则呢?让我们一起来学习. 变量又称为 ...

  2. python函数参数类型检查_Python中实现参数类型检查的简单方法

    Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应.比如,在声明一个函数时,不能指定参数的类型.用C做类比,那就是所有参数都是void*类型!void类型强制转换在C++中被广泛 ...

  3. python变量类型之间转换_Python常用数据类型之间的转换总结

    函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) ...

  4. long类型怎么转换成string_Python知识点-Python变量类型有哪些?

    Python的内置变量类型是非常基础的知识点,善用变量类型转换在日常的工作学习中会给我们带来非常大的帮助. 相对于其他语言,Python的变量类型既有自己的特色方法,也有借鉴前辈的优秀之处.今天酷仔整 ...

  5. python 图像格式转换_如何用六行Python构建图像类型转换器

    python 图像格式转换 by AMR 通过AMR 如何用六行Python构建图像类型转换器 (How to build an image type convertor in six lines o ...

  6. python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...

    目录 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数 ...

  7. python 网络字节序转换_python网络编程:ntohl、htonl、ntohs、htons

    代码: root@iZ94nil6ddfZ:~# cat ntohl.py #!/usr/bin/python import socket from binascii import hexlify d ...

  8. python byte类型_Python3的字节类型(bytes)

    Python3在处理一些底层应用时(比如socket编程)会用到字节类型(bytes). 首先Python2与Python3的字节字符串大有不同,如果不幸看错了教程,那就悲剧了.以下内容均指Pytho ...

  9. python——数字类型和转换

    Python 数字数据类型用于存储数值. 数字类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 可以通过del语句删除单个或多个对象的引用: del var_1 del v ...

最新文章

  1. 程序员的爱情 第六章
  2. 锁用不好,可能把自己锁住哦!(解决多线程的死锁问题)
  3. SAP固定资产相关的一些表
  4. oracle 根据spid查sql,探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句...
  5. 蓝桥杯2015初赛-牌型种数-dfs
  6. 用Veritas制作MSI文件,Active Directory系列之二十四
  7. 编写高质量javascript代码的基本要点
  8. HTML中IE条件注释判断语句(!--[if XX IE X]![endif]--)
  9. JACK——PaintRobot Exercise6
  10. Windows 10自动更新存在严重缺陷 强制升级搞坏用户硬盘!
  11. LeetCode--Longest Common Prefix
  12. Codeforces Round #277 (Div. 2) E. LIS of Sequence DP
  13. SharedCache-共享缓存概况和初步运用实例(1)
  14. ipad写python代码用什么软件_iPad 能用来写代码吗?有哪些必备软件推荐?
  15. 使用快捷工具搜狗词库转txt和mmseg
  16. 梯度下降法 与 最速下降法 的区别
  17. 中天易税服务器网站,中天易税网上报税系统
  18. java 状态模式 同步_多人联机射击游戏中的设计模式应用(二):观察者模式,单例模式,状态模式,适配器模式...
  19. ARM7——LPC2xxx小总结
  20. POI导出execle javaweb

热门文章

  1. 上新,“春节红”等5款个性化样式任你选,浓浓年味拉满
  2. template.js模板引擎下载和实例
  3. 使用 ArcGIS 绘制地理位置图
  4. SLAM第三讲笔记(1)之矩阵
  5. 支付宝扫码跳转到转账源码
  6. 关于BLM(所谓“黑命贵”)运动的思考与对话
  7. 百度小熊猫SEO外链发布工具
  8. 精细化运营,延长全生命周期价值LTV
  9. 计算机打印的房子为什么不实现,打印机共享之后,为什么其他电脑还是搜索不到...
  10. 创业有风险,招聘需谨慎