今天在寫python代碼時需要用到8進制數,便嘗試着在數的前面加一個0來表示8進制數:077
,但是python解釋器報錯。
經查閱博客了解了python3中10進制、8進制與2進制的表示,寫此博客以做記錄。
16進制
>>> 0x14
20
>>> 0x11
17
8進制
>>> 0o14
12
>>> 0o11
9
2進制
>>> 0b11
3
>>> 0b10
2
其它進制轉10進制
>>> int(0x15)
21
>>> int(0o15)
13
>>> int(0b10)
2
例子:從文件中讀取數據,轉換為8進制
f = open(r'C:\Users\jmh\Desktop\8.txt', 'r')
# 該文件中一共126個數,3個為一組,將其轉換為8進制,然后轉換為字符串
res = ''
for i in range(42):
s = eval('0o' + f.read(3))
res += chr(s)
print(res)