¿Cómo concatenar cadenas con valores binarios en python?
-
06-07-2019 - |
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 " ;.
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