1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python中1010的二进制_如何用python把任意文件转换为“1010”样子的文本

python中1010的二进制_如何用python把任意文件转换为“1010”样子的文本

时间:2024-04-11 01:47:44

相关推荐

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。