py 圖片>>base64>>二進制文本 轉換

說明藍色=命令名稱python

      淺綠=命令參數segmentfault

      淺藍=選項windows

      紫色=目錄ide

      系統環境:windows XP SP3學習

      python版本:Python 2.7.3測試

之前同事給了一個光棍節小遊戲(http://segmentfault.com/game),最後一關是把二進制文本轉換成圖片。最近學習python,發現python很簡單,代碼以下:spa

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

測試:3d

文件目錄結構如圖:blog

執行代碼:遊戲

目錄結構:

test文本內容:

相關文章
相關標籤/搜索