Pergunta

O que é a maneira mais fácil em python para string concatenar com valores binários?

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

Olhando para "abc0x1def0x1ghi0x1jkl" dados resultado com o 0x1 sendo valor binário não string "0x1".

Foi útil?

Solução

Eu acho

joined = '\x01'.join(data) 

deve fazê-lo. \x01 é a sequência de escape para um byte com o valor 0x01.

Outras dicas

A função chr () terá o efeito de traduzir uma variável em uma string com o valor binário que você está procurando.

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

A join () função pode ser usada para concat uma série de cordas com o seu valor binário como separador.

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

Eu sei que este não é o melhor método, mas uma outra maneira que poderia ser útil no contexto diferente para a mesma pergunta é:

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

E, se necessário, para remover mais à esquerda dois bits de cada cadeia (ou seja 0b do rato) a [2:] função fatia com um valor de 2 trabalhos:

>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top