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 " ;.

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top