» »

Python | string -> bin/hex

Python | string -> bin/hex

HotBurek ::

Pozdravljeni.

V Pythonu iščem za dinamično rešitev vnosa hex vrednosti v string.

Primer:
data = "";
data += "\x01"; # <---ok


Kako bi to lahko rešil v nekaj takega:
nn = "01";
data = "";
data += "\\x" + nn; # <---?


Drugi primer ne dela kar bi želel, ker zgolj izpiše string "\x01".

Ne vem, kakšno vrednost stringa vpisat, da bo output ta prav (binarno 0000 0000 0000 0001).
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Red_Mamba ::

"\\x%x" % nn

ce imas vecje stevilke in zelis recimo vedno 4 cifre:
"\\x%04X" % nn
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Zgodovina sprememb…

avian2 ::

Meni se zdi, da sprašuje po tem (Python 3):
n = 0x01
data = bytes([n])

Red_Mamba ::

kar rabi je pogooglat string formating za int to hex oz. bin konverzijo
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

googleg1 ::

včasih je bilo:
n = '0x10'
decimal = int(n, 16)


kjer 16 pomeni format zapisa (desetiški, osmiški, šestnajstiški=

Zgodovina sprememb…

  • spremenil: googleg1 ()

HotBurek ::

Hvala za pomoč. Sem naredil par primerov in našel tapravo funkcijo. Na koncu je bila rešitev chr() funkcija.


Se pravi:

data = "";
data += chr(3);
data += chr(99);
data += chr(111);
data += chr(109);
print(data);


Wireshark to prikaže kot 03 63 6f 6d (show bytes as hexadecimal).


Spodaj nekaj testov, če komu pride prav...

for i in range(0, 128):

    n = 0;
    ilen = len(str(i));

    if len(str(i)) < 2:
        n = 0o0000000 + i;
    elif len(str(i)) < 3:
        n = 0o000000 + i;
    elif len(str(i)) < 4:
        n = 0o00000 + i;

    data = bytes([n]);
    print(str(i) + "\t" + " | --" + data.decode("ascii") + "--");


n = 0x00;
print("0x00=" + str(n));

n = 0xff;
print("0xff=" + str(n));

n = 0xffff;
print("0xffff=" + str(n));

n = 0x01;
print("int=" + str(n));
print("chr=" + chr(n));

n = 0x61;
print("int=" + str(n));
print("chr=" + chr(n));

n = 1;
print("chr=" + chr(n));
n = 97;
print("chr=" + chr(n));
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Zgodovina sprememb…

  • spremenilo: HotBurek ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#,SQL]

Oddelek: Programiranje
51252 (1165) JanOlMajti
»

[C# Linq2SQL]

Oddelek: Programiranje
111371 (1230) BlueRunner
»

C++ programi

Oddelek: Programiranje
72524 (2120) ERGY
»

[C#] DATA GRID VIEW

Oddelek: Programiranje
131947 (1827) Kekec
»

[java] datumi

Oddelek: Programiranje
151781 (1654) l0g1t3ch

Več podobnih tem