2009-06-18 2 views
3

Какой простой способ в python объединить строку с двоичными значениями?Как конкатенировать строки с двоичными значениями в python?

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

В поисках данных результата "abc0x1def0x1ghi0x1jkl" с 0x1 является двоичное значение не строку «0x1».

+0

Нет двоичных значений. 0x1 - шестнадцатеричный; 0b1 будет двоичным. – foobarbecue

ответ

9

Я думаю

joined = '\x01'.join(data) 

должны это сделать. \x01 - это escape-последовательность для байта со значением 0x01.

+0

+1 Большое спасибо, я попробовал схожую вещь, но не думал об экранировании персонажей, чтобы создать «символ» ... – stefanB

+0

Отлично работает: 8 = 10^A9 = ABC^A10 = BBB^A34 = D – stefanB

+0

@pdc: Это [не работает] (http://stackoverflow.com/q/33242721/2284570) с mmap. – user2284570

3

Функция chr() будет иметь эффект перевода переменной в строку с двоичным значением, которое вы ищете.

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

Функция Join() может быть использован для Concat ряда строк с двоичным значением в качестве разделителя.

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

Это также хорошо, спасибо – stefanB

+0

@ricree: Это [не работает] (http://stackoverflow.com/q/33242721/2284570) с mmap. – user2284570

Смежные вопросы