2016-12-22 3 views
-1

In php, pack("V", $id); Es kann die "ID" in Binär mit dem 32 Bit, unsigned, Little-Endian-Format ändern. Wie können wir das Gleiche mit Python machen?Hat Python eine ähnliche Funktion wie pack() in PHP?

Eine andere Sache, ich versuche, den folgenden Code:

my_input = 10 
binary_string = pack("<I", my_input) 
print my_input 

Die Ausgabe lautet:

▯▯▯ 

was mit meinem Code oder mein PyCharm falsch ist?

+3

Mögliches Duplikat von [Python-Äquivalent von PHP-Paket] (http://stackoverflow.com/questions/13892734/python-equivalent-of-php-pack) –

+0

Sind Sie sicher, dass die Ausgabe von * diesem präzisen Programm * war? Die Ausgabe sollte "10" sein. Bitte geben Sie Ihren Code nicht erneut ein und fassen Sie ihn nicht zusammen. Kopieren Sie bitte ein kurzes, vollständiges Programm, einschließlich aller Importanweisungen. Siehe [mcve] für hilfreiche Informationen. –

+0

Lassen Sie mich Ihnen Ihren neuen besten Freund vorstellen: http://www.php2python.com/wiki/function.pack/ – Sammitch

Antwort

1

Um eine 32-Bit unsigned Little-Endian-Speicherbereich in Python, verwenden struct.pack wie Sie zu erstellen:

binary_string = pack("<I", my_input) 

Sie können dann speichern Sie diese Bytes in einer Datei wie folgt:

with open("my_input.bin", "wb") as f: 
    f.write(binary_string) 
Verwandte Themen