Frage

Was ist der einfachste Weg, in Python-String mit binären Werten verketten?

sep = 0x1
data = ["abc","def","ghi","jkl"]

Suche nach Ergebnisdaten "abc0x1def0x1ghi0x1jkl" mit dem 0x1 ist Binärwert nicht string "0x1".

War es hilfreich?

Lösung

Ich denke

joined = '\x01'.join(data) 

sollte es tun. \x01 ist die Escape-Sequenz für einen Byte mit dem Wert 0x01.

Andere Tipps

Die chr () Funktion wird die Wirkung hat, eine Variable in einen String mit dem binären Wert zu übersetzen, die Sie suchen.

>>> sep = 0x1
>>> sepc = chr(sep)
>>> sepc
'\x01'

Die join () Funktion kann dann eine Reihe von Zeichenketten mit binären Wert als Trennzeichen verketten verwendet werden.

>>> data = ['abc']*3
>>> data
['abc', 'abc', 'abc']
>>> sepc.join(data)
'abc\x01abc\x01abc'

Ich weiß, dass dies nicht die beste Methode ist, aber ein andere Art und Weise, die in anderem Kontext für die gleiche Frage nützlich sein könnte, ist:

>>> x=(str(bin(0b110011000)))
>>> b=(str(bin(0b11111111111)))
>>> print(x+b)
0b1100110000b11111111111

Und wenn nötig, die am weitesten links stehenden zwei Bits jeder Saite (das heißt 0b Pad) die Scheibe Funktion [2:] mit einem Wert von 2 Werken zu entfernen:

>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top