Python hexstring-list-str之间的转换方法


Posted in Python onJune 12, 2019

在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理:

hexstring 如:'1C532145697A8B6F'

str 如:'\x1C\x53\x21\x45\x69\x7A\x8B\x6F'

list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]

各种第三方模块(如pyDes),或者自己写的接口中,可能存在由于类型不统一需要在这3种数据中来回切换的情况。

需要用到的核心的方法如下:

list() 将对象转换为list

str() 将对象转换为str

bytearray() 将对象转换为bytearray

bytearray.fromhex() 将对象从hexstring转换为bytearray

binascii.b2a_hex() 将对象从str转换为hexstring

1. 整形列表转str

如:[0x53, 0x21, 0x6A] -> '\x53\x21\x6a'

方法:list -> bytearray -> str

x = [0x53, 0x21, 0x6A]
y = str(bytearray(x))

2. str转整形列表

如:'\x53\x21\6a' -> [0x53, 0x21, 0x6A]

方法:逐个字符转成十进制

x = '\x53\x21\x6a'
y = [ord(c) for c in x]

3. 整形列表转换为hex string

如: [0x53, 0x21, 0x6A] -> '53216A'

方法:list -> bytearray -> str -> hexstring

import binascii
x = [0x53, 0x21, 0x6A]
y = str(bytearray(x))
z = binascii.b2a_hex(y)

4. hex string转换为整形列表

如: '53216A' -> [0x53, 0x21, 0x6A]

方法:hexstring -> bytearray -> list

x = '53216A'
y = bytearray.fromhex(x)
z = list(y)

5. hex string转换为str

如: '53216A' -> '\x53\x21\x6A'

方法:hexstring -> bytearray -> str

x = '53216A'
y = bytearray.fromhex(x)
z = str(y)

以上这篇Python hexstring-list-str之间的转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
Python 基础之字符串string详解及实例
Apr 01 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
pycharm修改界面主题颜色的方法
Jan 17 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
python用match()函数爬数据方法详解
Jul 23 Python
python 进程的几种创建方式详解
Aug 29 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
快速解决jupyter notebook启动需要密码的问题
Apr 21 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
Python如何用re模块实现简易tokenizer
May 02 Python
对python3.4 字符串转16进制的实例详解
Jun 12 #Python
python版DDOS攻击脚本
Jun 12 #Python
selenium处理元素定位点击无效问题
Jun 12 #Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 #Python
python3.4 将16进制转成字符串的实例
Jun 12 #Python
python binascii 进制转换实例
Jun 12 #Python
Python3 实现串口两进程同时读写
Jun 12 #Python
You might like
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
生成sessionid和随机密码的例子
2006/10/09 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP学习笔记之session
2018/05/06 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
js用类封装pop弹窗组件
2017/10/08 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python sorted对list和dict排序
2020/06/09 Python
Python实现疫情地图可视化
2021/02/05 Python
单身旅行者的单身假期:Just You
2018/04/08 全球购物
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
材料专业毕业生求职信
2014/02/26 职场文书
社会实践活动总结范文
2014/07/03 职场文书
新员工入职欢迎词
2015/01/23 职场文书
高中历史教学反思
2016/02/19 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
Pygame Draw绘图函数的具体使用
2021/11/17 Python
Python开发五子棋小游戏
2022/05/02 Python