Come concatenare le stringhe con valori binari in Python?
-
06-07-2019 - |
Domanda
Qual è il modo più semplice in Python per concatenare la stringa con valori binari?
sep = 0x1
data = ["abc","def","ghi","jkl"]
Ricerca dei dati dei risultati " abc0x1def0x1ghi0x1jkl "
con lo 0x1 che è un valore binario non stringa " 0x1 " ;.
Soluzione
Penso
joined = '\x01'.join(data)
dovrebbe farlo. \ x01
è la sequenza di escape per un byte con valore 0x01.
Altri suggerimenti
La funzione chr () avrà l'effetto di tradurre una variabile in una stringa con il valore binario che stai cercando.
>>> sep = 0x1
>>> sepc = chr(sep)
>>> sepc
'\x01'
La funzione join () può quindi essere utilizzata per concatenare una serie di stringhe con il valore binario come separatore.
>>> data = ['abc']*3
>>> data
['abc', 'abc', 'abc']
>>> sepc.join(data)
'abc\x01abc\x01abc'
So che questo non è il metodo migliore, ma un altro modo che potrebbe essere utile in contesti diversi per la stessa domanda è:
>>> x=(str(bin(0b110011000)))
>>> b=(str(bin(0b11111111111)))
>>> print(x+b)
0b1100110000b11111111111
E se necessario, per rimuovere i due bit più a sinistra di ogni stringa (ovvero 0b pad) la funzione slice [2:]
con un valore di 2 opere:
>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111