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基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
在Python中使用dict和set方法的教程
Apr 27 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 Python
PyTorch中Tensor的数据类型和运算的使用
Sep 03 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
用 python 进行微信好友信息分析
Nov 28 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
js加解密 脚本解密
2008/02/22 Javascript
javascript 动态加载 css 方法总结
2009/07/11 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
JS验证字符串功能
2017/02/22 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
python实现linux下抓包并存库功能
2018/07/18 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
python 实现多维数组(array)排序
2020/02/28 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
2013的个人自我评价
2013/12/26 职场文书
老公给老婆的道歉信
2014/01/10 职场文书
中式面点餐厅创业计划书
2014/01/29 职场文书
财产公证书样本
2014/04/04 职场文书
国贸专业求职信
2014/06/28 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL