データ型変換パイソン

'''
@FileName: 
@Descripttion: 
@Author: jiangfeng.zhang([email protected])
@LastEditTime: 2019-10-24 12:03:55
'''
import threading
import time
import xlwt  #excel文件写库
import os

# bytes 与 int
b=b'\x01\x02'
num=int.from_bytes(b,'little')
print('bytes转int:','%x' %num)
print('bytes转int:%x' %num)

b1=num.to_bytes(2,'little')
print('int转bytes:',b1)

#bytes 与十六进制string
hs=''.join(['%02X' %x  for x in b])
print('bytes转十六进制字符串:',hs)
bs=bytes.fromhex(hs)
print('十六进制字符串转bytes:',bs)
# print(bytes.fromhex(hex(78)[2:]))

#int 与 string
s='abcd'
num=int(s,16)
print('字符串转int:',num)
print('int转十六进制字符串:',hex(num))



test=b'\x01\x02\x03'
mystart=0
mystop=3
num=int.from_bytes(test[mystart:mystop],'little')  #对b进行切片
print('bytes转int:%x' %num)
'''
@FileName: 
@Descripttion: 
@Author: jiangfeng.zhang([email protected])
@LastEditTime: 2019-10-23 18:00:56
'''

#python3.7

 

import binascii

 

#ByteToHex的转换

def ByteToHex( bins ):

    return ''.join( [ "%02X" % x for x in bins ] ).strip()

#返回数据16进制字符串 '91f8148cfbd5faa3d98b'

 

#HexToByte的转换

def HexToByte( hexStr ):

    return bytes.fromhex(hexStr)

print('\r\n')

print("bytes类型hex字符串 转 str类型hex字符串")

Bytes1 = b'\x91\xf8\x14\x8c\xfb\xd5'

Hex1 = ByteToHex( Bytes1 )

print(Hex1)

print('\r\n')

 

#socket编程可以把要发送的16进制hex字符串转化文socket发送的byte类型字符串发送

print("str类型hex字符串 转 bytes类型字hex符串")

hexStr = "91f8148cfbd5"

Bytes2 = HexToByte( hexStr )

print(Bytes2)

print('\r\n')

 

print("bytes类型转为16进制bytes类型")

ret = binascii.b2a_hex(Bytes2) #ret为16进制bytes

print(ret)#b'91f8148cfbd5'

 

print('\r\n')

print(binascii.b2a_hex(u"你好啊".encode("utf8")))#'e4bda0e5a5bde5958a'

print('\r\n')

print(binascii.b2a_hex(u"你好啊".encode("gbk")))#'c4e3bac3b0a1'

print('\r\n')

print(binascii.b2a_hex(u"你好啊121A号".encode("gbk")))#'c4e3bac3b0a131323141bac5'

print('\r\n')

print(binascii.a2b_hex("e4bda0e5a5bde5958a"))#'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a'

print('\r\n')

print(binascii.a2b_hex("e4bda0e5a5bde5958a").decode("utf8"))#你好啊

おすすめ

転載: www.cnblogs.com/retry/p/11737342.html