use*_*729 6 python binary ascii
我做了一个小python程序,从文件读取二进制文件并将其存储到文本文件,读取文本文件并存储二进制文件.但是,我无法让二进制文件工作......它读取这样的文件:
f_bin = open(bin_file,"rb")
to_bin_data = f_bin.read()
bin_data = bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in to_bin_data), 0))
f_bin.close()
Run Code Online (Sandbox Code Playgroud)
这个对我不起作用... 将二进制转换为ASCII,反之亦然
像这样的网页:http://www.roubaixinteractive.com/PlayGround/Binary_Conversion/Binary_To_Text.asp
编辑:我现在为它做了一个很长的if else脚本,但感谢你的答案
Jon*_*nts 11
我们接受"你好"这个词 0110100001100101011011000110110001101111
把这一回字符,我们可以使用chr和int(以2为基础)和一些列表切片...
''.join(chr(int(bin_text[i:i+8], 2)) for i in xrange(0, len(bin_text), 8))
Run Code Online (Sandbox Code Playgroud)
如果我们想要'hello'并将其转换为二进制,我们可以使用ord和字符串格式化...
''.join('{:08b}'.format(ord(c)) for c in 'hello')
Run Code Online (Sandbox Code Playgroud)
也许你可以使用内置函数:
>>> myString = "hello"
>>> ba = bytearray(myString)
>>> ba[0]
104
>>> bin(ba[0])
'0b1101000'
Run Code Online (Sandbox Code Playgroud)
拆分0b:
>>> bin(ba[0]).split('b')[1]
'1101000'
Run Code Online (Sandbox Code Playgroud)
或者
>>> bin(ba[0])[2:]
'1101000'
Run Code Online (Sandbox Code Playgroud)
我希望您能通过片段解决您的问题!:)
| 归档时间: |
|
| 查看次数: |
30621 次 |
| 最近记录: |