Forum >> Principianti >> Modulo EBCDIC per python

Pagina: 1

Ciao a tutti
Mi sono trovato a dover fare manutenzione ad una sezione di codice che "cripta" le password e poi le spedisce via mail.
A tutti gli effetti converte ( o dovrebbe convertire ) un testo stringa da ascii in esadecimale ed infine da esadecimale ad EBCDIC ( cp500 o cp1144 ), il mio problema è che l' output di conversione risulta in kanji giapponesi o coreani o chi per esso.... :question:
qualcuno ha avuto gli stessi problemi?
sbaglio qualcosa?


<>import ebcdic
import time
#----------------------------------------------------------------------------------------------------------------#
#nazionalità ebcdic:
#•cp1140 - Australia, Brazil, Canada, New Zealand, Portugal, South Africa, USA
#•cp1141 - Austria, Germany, Switzerland
#•cp1142 - Denmark, Norway
#•cp1143 - Finland, Sweden
#•cp1144 - Italy
#•cp1145 - Latin America, Spain
#•cp1146 - Great Britain, Ireland, North Ireland
#•cp1147 - France
#•cp1148 - international
#•cp1149 - Iceland
#legacy code:
#•cp037 - Australia, Brazil, Canada, New Zealand, Portugal, South Africa; similar to cp1140 but without Euro sign
#•cp273 - Austria, Germany, Switzerland; similar to cp1141 but without Euro sign
#•cp277 - Denmark, Norway; similar to cp1142 but without Euro sign
#•cp278 - Finland, Sweden; similar to cp1143 but without Euro sign
#•cp280 - Italy; similar to cp1141 but without Euro sign
#•cp284 - Latin America, Spain; similar to cp1145 but without Euro sign
#•cp285 - Great Britain, Ireland, North Ireland; similar to cp1146 but without Euro sign
#•cp297 - France; similar to cp1147 but without Euro sign
#•cp500 - international; similar to cp1140 but without Euro sign
#•cp871 - Iceland; similar to cp1149 but without Euro sign
#•cp1047 - Open Systems (MVS C compiler)
#----------------------------------------------------------------------------------------------------------------#

digit = raw_input("Inserire il testo da codificare: ")
stringa = str(digit)
output = stringa.encode('hex') #conversione esadecimale#
output2 = output.encode('cp500')

#codifica testuale ebcdic
print "----- INIZIO TEST MODULO -----"
print " "
print dir(ebcdic)
print " "
print "----- FINE TEST MODULO -----"
print " "
print "----- INIZIO CODIFICA-----"
print " "
print time.ctime()
print " "
print digit
print " "
if digit!= None:
print output
print output2


Per visualizzare in modo sensato caratteri codificati in EBCDIC occorrerebbe un terminale/console che legge l'EBCDIC. I valori dei singoli byte sono corretti? Se si non c'è nessun problema.
*** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione ***


Pagina: 1



Esegui il login per scrivere una risposta.