[Python-de] Umwandlung Hex -> Int

"Martin v. Löwis" martin at v.loewis.de
Sam Jul 15 12:34:47 CEST 2006


Andreas Kaiser wrote:
> ich habe folgende Zeichenkette in einem Binärfile):
> '\x01\x93'
> Wie bekomme ich diese Zeichenkette mit den Hexwerten so umgewandelt,
> dass anschließen der Int Wert (oder auch String) 193 rauskommt?

Ich stelle mal eine andere Theorie als Hartmut auf, wie genau die
Konvertierung laufen soll.

Es könnte sich um BCD-Kodierung handeln (Binary Coded Decimals),
wo jedes Byte zwei Dezimalziffern kodiert. Hier ein Vorschlag:
erstelle eine Tabelle, die jedes Byte in eine Zahl 0..100 umwandelt,
und iteriere dann über die Bytes:

table = [None]*256
for x in range(10):
  for y in range(10):
    table[16*x+y] = 10*x+y

def convert(bytes):
  result = 0
  for b in bytes:
    result = result*100 + table[ord(b)]
  return result

Ciao,
Martin




More information about the python-de mailing list