各進制之間轉換:
1 # 轉二進制用bin(int(x,n)) #用幾進制轉換n就是幾 2 # 轉八進制用oct(int(x,n)) #x位置放現有進制字符串 3 # 轉十進制用int(x,n) 4 # 轉十六進制用hex(int(x,n))
十進制轉二進制IP:
1 def convert(n): 2 a = n.split(".") 3 lst = [] 4 for i in a: 5 two = bin(int(i,10)).lstrip("0b") #十進制轉換成二進制,並去掉開頭的0和b,,(根據需要) 6 lst.append(two.zfill(8)) #十進制添加到列表,不足處用0補位 7 return " ".join(lst) #把列表用" "連接起來 8 print(convert("102.3.9.129"))
結果對照:
1 01100110 00000011 00001001 10000001
二進制轉十進制IP:
1 def convert(n): 2 a = n.split(" ") 3 lst = [] 4 for i in a: 5 lst.append(str(int(i, 2))) #將二進制轉換成十進制,並添加到列表 6 return ".".join(lst) #把列表用"."連接起來 7 print(convert("01100110 00000011 00001001 10000001"))
結果對照:
1 102.3.9.129