进制转换(十进制 ⇆ 二进制 ⇆ 八进制 ⇆ 十六进制)
使用bin()
、oct()
、int()
、hex()
进行进制转换
>>> bin(1) # 十进制 转 二进制
'0b1'
>>> oct(1) # 十进制 转 八进制
'0o1'
>>> int(1)
1
>>> hex(1) # 十进制 转 十六进制
'0x1'
字符串.format() 进行进制转换,可以去除0b
、0o
、0x
formart()也可以在进制转换时,去除0b
、0o
、0x
# 格式化format转换 b o d x
>>> "{:b}".format(10) # 二进制 'b' 二进制格式。 输出以 2 为基数的数字
'1010'
>>> "{:o}".format(10) #八进制 'o' 八进制格式。 输出以 8 为基数的数字。
'12'
>>> "{:d}".format(10) # 十进制 'd' 十进制整数。 输出以 10 为基数的数字。
'10'
>>> "{:x}".format(10) # 十六进制 'x' 十六进制格式。 输出以 16 为基数的数字,使用小写字母表示 9 以上的数码。
'a'
>>> "{:X}".format(10) # 十六进制 字母大写 'X' 十六进制格式。 输出以 16 为基数的数字,使用大写字母表示 9 以上的数码。 在指定 '#' 的情况下,前缀 '0x' 也将被转为大写形式 '0X'。
'A'
>>> format(10, "b") # 二进制 'b'
'1010'
>>> format(10, "o") #八进制 'o'
'12'
>>> format(10, "d") # 十进制 'd'
'10'
>>> format(10, "x") # 十六进制 'x'
'a'
>>> format(10, "X") # 十六进制 字母大写 'X'
'A'
.format()
、format()
保留0b
、0o
、0x
, 在格式化时加#
>>> "{:#b}".format(10) # '0b1010'
>>> "{:#o}".format(10) # '0o12'
>>> "{:#d}".format(10) # '10'
>>> "{:#x}".format(10) # '0xa'
>>> "{:#X}".format(10) # '0XA'
>>>
>>> format(10, "#b") # '0b1010'
>>> format(10, "#o") # '0o12'
>>> format(10, "#d") # '10'
>>> format(10, "#x") # '0xa'
>>> format(10, "#X") # '0XA'
# str ⇆ ASCII
```python
# ord() 单个字符转ASCII,可以进行相关的运算, 输入仅为单个字符
>>> ord("\n")
10
>>> ord('a')
97
>>> ord("汉")
27721
# chr() ASCII转对应的字符
>>> chr(10)
'\n'
>>> chr(97)
'a'
>>> chr(27721)
'汉'
>>> "{:c}".format(10) # 'c' 字符。在打印之前将整数转换为相应的unicode字符。
'\n'