Ordnungszahlen (binär, hexadezimal, ascii, unicode)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Morgen zusammen,
habe ein Programm geschrieben, das mir zu jedem einzelnen Buchstaben die Ordnungszahl Dezimal ausgibt, sprich für 'H' -> 72. Die Ausgabe bekomme ich ja mit ord(). Doch wie bekomme ich die Ordnungszahl in Hexadezimal? Gibt es dafür auch einen Befehl? Danke für Tipps mal wieder!

Edit: Mit binascii.hexlify(data) bin ich bisher nicht klar gekommen...

Code: Alles auswählen

   print(c, ord(c), binascii.hexlify(c))
TypeError: 'str' does not support the buffer interface
Zuletzt geändert von duodiscus am Sonntag 13. April 2014, 10:04, insgesamt 1-mal geändert.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

@duodiscus: mit ord erhältst Du zu einem Zeichen seine Position im Unicode, also eine Zahl. Wie die Zahl dargestellt wird, hängt davon ab, wie Du die Zahl ausgibst.

Code: Alles auswählen

>>> print("{0:c} dez:{0:d} hex:{0:x}".format(ord('H'))
H dez:72 hex:48
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Danke für deine schnelle Antwort!
Schaue mir die Formatierungen mit print nochmal genauer an!
Antworten