'''
@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"))#你好啊