微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python3 byte int string 互转 转换

# bytes 与 int
b=b'\x01\x02'
num=int.from_bytes(b,'little')
print('bytes转int:',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))

输出

bytes转int: 513
int转bytes: b'\x01\x02'
bytes转十六进制字符串: 0102
十六进制字符串转bytes: b'\x01\x02'
字符串转int: 43981
int转十六进制字符串: 0xabcd

 

其他转换:

int(x [,base ])         将x转换为一个整数    

long(x [,base ])        将x转换为一个长整数    

float(x )               将x转换到一个浮点数      

str(x )                 将对象 x 转换为字符串    

eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象    

tuple(s )               将序列 s 转换为一个元组    

list(s )                将序列 s 转换为一个列表    

chr(x )                 将一个整数转换为一个字符    

ord(x )                 将一个字符转换为它的整数值    

hex(x )                 将一个整数转换为一个十六进制字符串    

oct(x )                 将一个整数转换为一个八进制字符串 

 

以下是 bytes 的语法:

class bytes([source[,encoding[,errors]]])

参数

  • 如果 source 为整数,则返回一个长度为 source 的初始化数组;
  • 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;
  • 如果 source 为可迭代类型,则元素必须为[0,255] 中的整数;
  • 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。
  • 如果没有输入任何参数,认就是初始化数组为0个元素。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐