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实现根据指定端口探测服务器/模块部署的方法
Aug 25 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
Aug 13 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
np.dot()函数的用法详解
Jan 17 Python
基于Python共轭梯度法与最速下降法之间的对比
Apr 02 Python
使用Python实现批量ping操作方法
May 06 Python
完美解决pycharm 不显示代码提示问题
Jun 02 Python
python里反向传播算法详解
Nov 22 Python
python3实现无权最短路径的方法
May 12 Python
用Python创建简易网站图文教程
Jun 11 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
php生成xml简单实例代码
2009/12/16 PHP
PHP内核探索:变量概述
2014/01/30 PHP
php绘制圆形的方法
2015/01/24 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
Python读写锁实现实现代码解析
2020/11/28 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
2014年创卫工作总结
2014/11/24 职场文书
人工作失职检讨书
2015/05/05 职场文书
python中subplot大小的设置步骤
2021/06/28 Python
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS