[Python] Ascii To Hex y Hex to Ascii

Iniciado por Runex, 8 Abril 2012, 15:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Runex

Sé que no es nada nuevo, es más se suelen subir bastantes programas como éste, pero quería hacer otro aporte y aunque por el momento es bastante simple, lo he hecho en 5 minutos, y en una media hora más, tendré el programa con un aspecto visual más o menos bonito :).

Edit: He encontrado un problema con la conversión de Hex a Ascii, tengo más o menos claro el algoritmo de conversión, he intentado contar cada numero de la palabra en hex y añadirlo a una lista vacía, así cuando la longitud de la lista sea = 2, los numeros se convierten a ascii con chr() y se añaden a una variable de almacenamiento, resultado="". Pero hay algo que me está mareando con tanto self. por ahi xD :)

Os dejo aquí el simple código:

Código (python) [Seleccionar]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Tkinter import *
import string
class programa

def __init__(self):
self.root = Tk()
self.root.title("Conversor Ascii")
self.root.maxsize(width="500",height="500")
self.root.minsize(width="500",height="500")
self.a = StringVar()
self.b = StringVar()
self.entradascii = Entry(self.root,textvariable=self.a,width=20)
self.button = Button(self.root,text="To Hex",command = self.convertirhex)
self.entradahex = Entry(self.root,textvariable=self.b,width=20)
self.button2 = Button(self.root,text="To Ascii",command=self.convertirascii)
self.entradahex.grid(row=3,column=0)
self.button2.grid(row=3,column=1)
self.entradascii.grid(row=0,column=0)
self.button.grid(row=0,column=1)
self.root.mainloop()
def convertirhex(self):
self.palabra = self.entradascii.get()
self.resultado = ""
for self.letra in self.palabra:
self.resultado = self.resultado + hex(ord(self.letra))
self.resultado = "0x" + self.resultado.replace("0x","")
Label(self.root,text="Hex: " + self.resultado).grid(row=0,column=3)
def convertirascii(self):
self.palabra = self.entradahex.get()
self.lista = []
self.resultado = ""
for self.letra in self.palabra:
self.lista.append(int(self.letra))
if len(self.lista)==2:
self.par = string.join(self.lista)
self.resultado = self.resultado + chr(self.par)
print self.resultado

instancia = programa()
instancia

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".