2 回答
TA贡献1828条经验 获得超3个赞
binascii 库已经具有十六进制编码和编码的功能
import binascii
message='भी मिलता था। सरोपा #variable# भेंट करना अब शायद सिर्फ सिख परंपरा में ही बचा समाज की #variable# गहराई नापते रहे हैं गुणाधर'
messageEncoded = binascii.hexlify(message.encode())
print(messageEncoded)
messageDecoded = binascii.unhexlify(messageEncoded)
print(messageDecoded.decode())
TA贡献1876条经验 获得超6个赞
由于已经指定了一些评论,如果更换是不可能解码0x的0,我能得到的最接近的是以下
# Deencoding
hexs = []
tmp = ''
for i in range(len(output1)):
if i < len(output1) - 1 and output1[i] == '0' and output1[i+1] != '0':
hexs.append(tmp)
tmp = ''
else:
tmp += output1[i]
if tmp != '':
hexs.append(tmp)
print(''.join(chr(int(c,16)) for c in hexs[1:]))
这将在你有你的十六进制代码失败,因为902,你怎么确定它是否是2个字符9和2或只有一个902?
如果你能保持的0x,你可以简单地使用其他命令与把它找回来int,并chr为后续
print(''.join(chr(int(c, 16)) for c in output[2:].split('0x')))
但是做你想做的最好的方法可能是使用 binascii
添加回答
举报