说明蓝色=命令名称

      浅绿=命令参数

      浅蓝=选项

      紫色=目录

      系统环境:windows XP SP3

      python版本:Python 2.7.3

以前同事给了一个光棍节小游戏(http://segmentfault.com/game),最后一关是把二进制文本转换成图片。最近学习python,发现python很简单,代码如下:

   
   
   
   
  1. #!/usr/bin/env python 
  2. #-*- coding:utf-8 -*- 
  3. #Author:left_left 
  4. import binascii 
  5. import re 
  6.  
  7. def jpg2bin(data): 
  8.     b64 = binascii.b2a_base64(data) 
  9.     j = 0 
  10.      
  11.     f = open('test.txt''w'
  12.     for i in b64: 
  13.         f.write("".join([bin(int(binascii.b2a_hex(i), 16))[2:].rjust(8,'0'), " "])) 
  14.         j += 1 
  15.         if j % 6 == 0
  16.             f.write('\n'
  17.     f.close() 
  18.     print "jpg to bin ok" 
  19.  
  20. def bin2jpg(data): 
  21.     result = re.split(r'[ \n]', data) 
  22.     b64 =  "" 
  23.     for i in result:   
  24.         if i: 
  25.             hex_src = str(hex(int(i, 2)))[2:].rjust(2,"0"
  26.             b64 = "".join([b64, binascii.a2b_hex(hex_src)]) 
  27.              
  28.     bin_data = binascii.a2b_base64(b64) 
  29.     f = open("new.jpg"'wb'
  30.     f.write(bin_data) 
  31.     f.close() 
  32.     print "jpg to bin ok" 
  33.      
  34. def main(): 
  35.     f = open("test.jpg""rb"
  36.     data = f.read() 
  37.     jpg2bin(data) 
  38.     f.close() 
  39.  
  40.     f = open("test.txt"
  41.     data = f.read() 
  42.     bin2jpg(data) 
  43.     f.close() 
  44.  
  45. if __name__ == "__main__"
  46.     main() 

测试:

文件目录结构如图:

py 图片>>base64>>二进制文本 转换_第1张图片

执行代码:

py 图片>>base64>>二进制文本 转换_第2张图片

目录结构:

py 图片>>base64>>二进制文本 转换_第3张图片

test文本内容:

py 图片>>base64>>二进制文本 转换_第4张图片