继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python3的各进制间的转换

守着星空守着你
关注TA
已关注
手记 359
粉丝 39
获赞 267

Python3进制转换(二进制/八进制/十进制/十六进制)

环境:ubuntu16.04
python 3.5.2

数字的进制转换很好理解

二进制转十进制:
使用int(str, n)函数,接受的参数是字符串:
int('121', 2)

如果参数是数字,使用str()转换为字符串:
int(str(121), 2)

其他的八、十六进制类似:
int('11', 8)
int('f', 16)

且注意,一次只能转换一个,多个需要用循环。

字符串转换就需要用取巧的方法:
方法一:
ord(单字符) 转换为ascii值:ord('A') --->65
hex(数值)转换为16进制值:hex(65) --->'0x41'
oct(数值) 转换为8进制值:oct(65) ---> '0o101'

例如:‘中’转换为十六进制:hex(ord('中')) ---> '0x4e2d'
多个字符用循环或列表生成式,然后join。

方法二:
字符串转为字节,然后格式化:
''.join(['%X' % x for x in '中'.encode()])

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP