Python3的各进制间的转换

发布时间:2019-09-27 07:06:38编辑:auto阅读(1997)

    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()])

关键字

上一篇: Python3 日志模块

下一篇: python3 字符串操作