Wie Zeichenkette mit binären Werten in Python verketten?
-
06-07-2019 - |
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".
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