Python3bytes转16进制字符(例如:b"111111"转\x8c\x8c\x8c\x8c\x8c\x8c)
字符 quot 16 进制 例如
2023-09-11 14:14:47 时间
先写一下python2是如何编写:
pw = '111111'
pw = ''.join([chr(int('{:08b}'.format(ord(x))[::-1], 2))for x in pw])
print pw
结果:
"\x8c\x8c\x8c\x8c\x8c\x8c"
我们看到,现将字符串pw遍历字符后,首先转换为2进制,再准换为16进制字符。
但是此方法在python3会出错,原因在于bytes类型
修改方法
import binascii
pw = b'111111'
temp = b''
for x in pw:
temp += binascii.a2b_hex('%02x' % int('{:08b}'.format(x)[::-1], 2))
pw = temp
print ("pw2:", pw)
结果:
b'\x8c\x8c\x8c\x8c\x8c\x8c'
相关文章
- php 查找字符串里面中文字符第一次出现的位置,并插入字符串
- BootStrap顺序验证和指定字符个数发送请求
- 是否以某字符串结尾 是否以某字符串开始 是否是整数 裁减字符串空格 是否是浮点数 是否所有字符为数字类型 是否为空 是否是EMAIL 是否是电话号码 身份证号码验证-支持新的带x身份证 日期验证
- Objective-C之用C的字符来处理NSString相关的字符替换和拼接的问题
- Java实现 蓝桥杯VIP 算法提高 递归倒置字符数组
- JPQL模糊匹配单个字符
- 错误1Files 的值“<<<<<<< .mine”无效。路径中具有非法字符。
- 剑指 Offer II 019. 最多删除一个字符得到回文-先删后检
- 习题 8.7 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
- qt qtextedit 限制富文本复制 限制字符
- 3.6 stringprep--互联网域名的字符标准库