擅长:python、mysql、java
<p>一种可能的方法(使用<em>位字符串</em>库),这有一定的道理,但仍包含不正确的地方:</p>
<p>使用<strong>位串</strong>库(感谢<em>机械蜗牛</em>和<em>Marc B</em>)</p>
<p>用于写入文件。在</p>
<p>步骤:</p>
<ol>
<li>将纯文本编码为二进制表示字符串</li>
<li>将所有这些字符串串联起来形成一个较长的字符串</li>
<li>使用<em>bitstring.BitArray位串</em>转换为十六进制格式</li>
<li>将十六进制字符串写入文件</li>
</ol>
<p>阅读:</p>
<ol>
<li>从文件中读取十六进制字符串</li>
<li>使用<em>位数组</em>将其转换回位字符串</li>
<li>开始解码</li>
</ol>
<p>代码:</p>
<pre><code>ss=['01010100','10010101010','010101110101010101'] #encoded message
from bitstring import BitArray,BitStream
print 'write it to file'
with open('binary.bin','wb') as f:
s=''.join(ss);
b=BitArray(bin=s)
f.write(b.tobytes())# thanks to Scott, tobytes() method is very useful
print 'read it to file'
b=BitArray(filename='binary.bin')
print b.bin
</code></pre>