16进制字符串python
⑴ python3 16进制字符串、列表、字符串之间的转换
在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理:
hexstring 如:ƇC532145697A8B6F'
str 如:'x1Cx53x21x45x69x7Ax8Bx6F'
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
如:[0x53, 0x21, 0x6A] -> 'x53x21x6a'
方法:list -> bytearray -> str
如:'x53x216a' -> [0x53, 0x21, 0x6A]
方法:逐个字符转成十进制
如: [0x53, 0x21, 0x6A] -> A'
方法:list -> bytearray -> str -> hexstring
如: A' -> [0x53, 0x21, 0x6A]
方法:hexstring -> bytearray -> list
如: A' -> 'x53x21x6A'
方法:hexstring -> bytearray -> str
以上内容转自: https://blog.csdn.net/diaoxuesong/article/details/72123415#
⑵ 如何用python将utf8编码的16进制字符串转换成对应的文字
#coding:utf-8
'''
参考用
mystery=b"xe5x88xab"
x=mystery.decode('utf-8')
print(x)
y=bytearray.fromhex(xe5x88xab).decode()
print(y)
'''
var=1
whilevar==1:
a=input('输入UTF-8的16进制编码: ')
b=list(a)
#print(b)
leng=len(b)
i=0
while(i<(1.5*leng)):
b.insert(i,'\x')
i+=3
#print(b)
c=str(''.join(b))
#print(c)
d='b'+"'"+c+"'"
#print(d)
x=eval(d).decode('utf8')
print('转换结果为: {} '.format(x))
我这个是输入没有x这种形式的,如输入“44”(代表“D”的16进制UTF8码),输出"D"
如果你需要输入形如x44这种,需要自己修改一下。
⑶ python 如何将16进制数据字符串去掉0x部分,然后转换成16进制数据写入到文件中
#-*-coding:utf-8-*-
__author__='lpe234'
__date__='2015-04-01'
hex_list=['0xAA','0xED','0xEF','0xDE']
f=file('x.txt','a+')
forxinhex_list:
ifx.startswith('0x'):
x=x[2:]
printx
f.write(x+' ')
f.close()
输出文件:
AA
ED
EF
DE
⑷ 在Python里 16进制的字符串怎么转化为汉字呢
做下进制转换就行了
#python
2.6以后内置函数
#10进制转为2进制
>>>
bin(10)
'0b1010'
#2进制转为10进制
>>>
int("1001",2)
9
#10进制转为16进制
>>>
hex(10)
'0xa'
#16进制到10进制
>>>
int('ff',
16)
255
>>>
int('0xab',
16)
171
#十进制转为八进制
>>print("%o"
%
10)
>>12
#16进制到2进制
>>>
bin(0xa)
'0b1010'
>>>
⑸ 在Python里 16进制的字符串怎么转化为汉字呢
做下进制转换就行了
#python 2.6以后内置函数
#10进制转为2进制
>>> bin(10)
'0b1010'
#2进制转为10进制
>>> int("1001",2)
9
#10进制转为16进制
>>> hex(10)
'0xa'
#16进制到10进制
>>> int('ff', 16)
255
>>> int('0xab', 16)
171
#十进制转为八进制
>>print("%o" % 10)
>>12
#16进制到2进制
>>> bin(0xa)
'0b1010'
>>>
⑹ 如何用python将utf8编码的16进制字符串转换成对应的文字
你所指的utf-8编码的16进制字符串应该是在IDE中显示的问题。如果你要显示对应的文字,可以将它转为字符串数据(如果你是用list形式显示了字符串信息而显示出来是16进制的话),也可以将它输出到文本中。
⑺ python我怎么把数组里面的每个字符串转换成16进制数啊
先把字符串转化为数字格式,
再用hex()把十进度数字转化为十六进制数
代码如下:
source=['1','2','3','4']
destination=[]
foriteminsource:
destination.append(hex(int(item)))
print(destination)
输出如下:
['0x1','0x2','0x3','0x4']
⑻ python 16进制转字符串
你的16进制的串“C7 EB CE F0 BE C6 BA F3 BC DD B3 B5”是gbk编码的,通过以下方法可以转为字符串。
>>>s="C7EBCEF0BEC6BAF3BCDDB3B5"
>>>s=s.replace("","")
>>>prints.decode("hex")
请勿酒后驾车