Pregunta

¿Cuál es la forma más fácil en python para concatenar cadenas con valores binarios?

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

Buscando datos de resultados " abc0x1def0x1ghi0x1jkl " con 0x1 siendo el valor binario no string " 0x1 " ;.

¿Fue útil?

Solución

Creo

joined = '\x01'.join(data) 

debería hacerlo. \ x01 es la secuencia de escape para un byte con valor 0x01.

Otros consejos

La función chr () tendrá el efecto de traducir una variable en una cadena con el valor binario que está buscando.

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

La función join () se puede usar para concatenar una serie de cadenas con su valor binario como separador.

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

Sé que este no es el mejor método, pero otra forma que podría ser útil en un contexto diferente para la misma pregunta es:

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

Y si es necesario, para eliminar los dos bits más a la izquierda de cada cadena (es decir, 0b pad), la función de división [2:] con un valor de 2 funciona:

>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top