Jumat, 30 Maret 2012

Konversi Biner ke ASCII dengan Python


Listing Program
import sys
file_in = open("biner.txt")
file_out = open("ascii.txt","wb") #wb = write back
bl = 8
bitlist = map(int,''.join(file_in.read().split()))
if len(bitlist)%bl != 0:
sys.exit("Error ! panjang dari bitlist bukan integer %s" % bl)
convert = ''.join([chr(sum(bit<<abs(idx-bl)-1 for idx,bit in enumerate(y)))
 for y in zip(*[bitlist[x::bl] for x in range(bl)])])
 file_out.write(convert)
 file_out.close()


Output Program



Logika Program


Pada program ini saya akan membuat konversi bilangan biner ke kode ASCII, maka saya  listing program di atas tersebut..

import  sys

perintah ini berguna untuk  Mengimport module sys pada python

file_in = open("biner.txt")                                                                                                                                                     file_out = open("ascii.txt","wb") #wb = write back                                                                                                                bl = 8
perintah diatas berguna untuk  Membuka file Biner.txt dan ASCII.txt sehingga dapat di read and write 

bitlist = map(int,''.join(file_in.read().split()))
if len(bitlist)%bl != 0:
sys.exit("Error ! panjang dari bitlist bukan integer %s" % bl)
Membaca input file byte, jika panjang byte kurang dari 8 maka akan muncul output error

convert = ''.join([chr(sum(bit<<abs(idx-bl)-1 for idx,bit in enumerate(y)))         
for y in zip(*[bitlist[x::bl] for x in range(bl)])])  
Membuat daftar byte dari variabel bitlist dan,  

Mengevaluasi nilai byte menjadi int dan merubahnya menjadi ascii

file_out.write(convert)   

Menulis hasil yang sudah diproses

file_out.close()                                 

Keluar dari file


       
 
◄ Newer Post Older Post ►