[python] pro programatory?

jarda j_p na centrum.cz
Sobota Leden 18 13:40:25 CET 2003


Jinak bych asi pouzil treba neco jako

ord(s[0]) + (ord(s[1]) << 8) + (ord(s[2]) << 16) + (ord(s[3]) << 24)

Jarda

> Dobry den,
>
> hledate modul struct, ten je na takove veci urceny. Pomoci funkce unpack
> muzete z retezce bajtu dekodovat ruzne datove typy. Resi i platforme
> zavisle formaty zapisu (big endian, little endian).
>
> S pozdravem
>
> 	Jarda Pachola
>
> > Zdravim vsechny a omluvam se za mozna trochu zavadejici subject. Muj
> > problem je nasledujici: Potrebuji ze souboru dostat informaci ulozenou ve
> > 4 bytech. Je to hexadecimalni cislo zakodovane nasledujicim zpusobem:
> > $12345678 je zakodovano jako $12 $34 $56 $78 ( kazda dvojice je jeden
> > znak - hodnota zadneho znaku neprekroci hodnotu $80).
> > Jelikoz jsem nad tim sedel v sobotu brzo rano tak uz me nenapadlo nic
> > lepsiho, nez nacist ty 4 znaky(byty) do pole, zjistit  ascii hodnotu
> > jednotlivych
> > znaku, tu prevest na hexadecimalni hodnotu, tu na retezec, oriznout "\x"
> > a spojit (viz kod).
> >
> > retezec = ""
> >     for i in seznam_hodnot:
> >         pom = ord(i)  #zjisteni ascii hodnoty znaku
> >         pom_a = str(hex(pom))
> >         retezec += pom_a[2:len(pom_a)]  #oriznuti "\x"
> >     cislo = int(retezec, 16)
> >     return cislo
> >
> > Nejsem odchovanec CVUT tak me nekamenujte :-). Ale zajimalo by me jak by
> > jste to resili vy - mozno i jine programovaci jazyky, nejenom Python.
> >
> > Hasta la vista,
> > Dan
> >
> > ps to jarda: mas pravdu curses je package. Prehlidl jsem prvni vetu v
> > dokumentaci: "Changed in version 1.6: Added support for the ncurses
> > library and converted to a package."
> > Pod ni je totiz hned veta zacinajici: "The curses module provides ....."
> > a te jsem se chytl drive :-)
> >
> >



Další informace o konferenci Python