[python] Vytisknutí znaku, pokud zname jen decimálni hodnotu pomoci hexadecimalniho zapisu

David Rohleder davro na ics.muni.cz
Neděle Únor 10 20:17:37 CET 2013


David Rohleder píše v Ne 10. 02. 2013 v 18:51 +0100:
> Lisiak4 na seznam.cz píše v Ne 10. 02. 2013 v 08:36 -0800:
> > Ahoj,
> > 
> > Začnu hned příkladem :)
> > 
> > Například znak "!" má decimální hodnotu v ASCII tabilce 33. Pokud si ji převedu na hexadecimální příkazem: hex(33), dostanu hodnotu 0x21. Tu ale nemůžu, nebo nevím vytisknout klasickým printem. Funguje formát: print"\x21". No nevím, jak bych mohl zprovoznit v printu formát zápisu 0x21, popřípadě jen 21, které dosáhnu pomocí zápisu přes modulo print "%x" %33. Formátovat řetězec, když je použito "\x\s" mi to nedovolí.. .
> > 
> > Jen uvedu, že tohle byl jen příklad. Řeším samozřejmě různá kódování, které ani Python nepodporuje. KOI8_CS, kódování KAMENICKÝCH a na platformě, kde mám k dispozici pouze jedno kódóvání. Klasicky se hraju s AmigaPythonem. Tohle ale zkouším samožřejmě pod Win, Python 2.7.2
> > 
> 
> třeba pomocí formátovacího řetězce
> 
> a = 0x21
> print "%x" % ( a, )
> 

nebo jsem nepochopil zadání. Chceš vytisknout ! nebo číslo?

print "%s" % chr(a)





Další informace o konferenci Python