python中1010的二进制_如何用python把任意文件转换为“1010”样子的文本
感謝 @xavierskip 的評論!
終于摸出來了。。收獲良多。
用二進制形式打開文件后,read()出來的字符串叫做binary string,二進制字符串,指的是這串字符串二進制層面上和文件完全相同,把它寫入到另一個二進制文件中就等于拷貝了一份。而不是指表現形式上的二進制(101010101)。
然后就是把這個字符串里的每個字符用ord()轉換數字,再轉成二進制表現形式的字符串就可以了。要注意的是python的bin()函數不會自己補足8位。
好奇一下。。。binary string(二進制字符串)是指和它代表的文件在二進制層面上內容相同的字符串,那1010這種字符串又怎么稱呼呢?
stackoverflow上很多問題似乎都是用1s and 0s來表示。。。有沒有再文藝清新點的表達方式?。。
鞏固學習,寫了相互轉換的函數:# path參數:要轉換的文件的路徑
def convertFileToOneAndZero(path):
f = open(path,'rb')
src = f.read()
print len(src)
result = []
for i in src:
temp = bin(ord(i))[2:]
temp = '0' * (8-len(temp)) + temp
result.append(temp)
return ''.join(result)
# src參數:1010字符串
# path參數:輸出文件的路徑
def convertOneAndZeroToFile(src, path):
result = []
for i in range(0, len(src), 8):
result.append(chr(int(src[i:i+8], 2)))
f = open(path, 'wb')
f.write(''.join(result))
f.close()
總結
以上是生活随笔為你收集整理的python中1010的二进制_如何用python把任意文件转换为“1010”样子的文本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 全局变量_Javascript
- 下一篇: tensorflow手册_谷歌Tenso