Pythonでバイナリ値と文字列を連結する方法は?
-
06-07-2019 - |
質問
文字列とバイナリ値を連結する最も簡単な方法は何ですか?
sep = 0x1
data = ["abc","def","ghi","jkl"]
結果データの検索" abc0x1def0x1ghi0x1jkl"
0x1は文字列" 0x1"ではなくバイナリ値です。
解決
私は思う
joined = '\x01'.join(data)
それを行う必要があります。 \ x01
は、値0x01のバイトのエスケープシーケンスです。
他のヒント
chr()関数は、変数を探しているバイナリ値を持つ文字列に変換する効果があります。
>>> sep = 0x1
>>> sepc = chr(sep)
>>> sepc
'\x01'
その後、join()関数を使用して、バイナリ値をセパレータとして一連の文字列を連結できます。
>>> data = ['abc']*3
>>> data
['abc', 'abc', 'abc']
>>> sepc.join(data)
'abc\x01abc\x01abc'
これが最良の方法ではないことはわかっていますが、同じ質問に対して異なるコンテキストで役立つ別の方法は次のとおりです。
>>> x=(str(bin(0b110011000)))
>>> b=(str(bin(0b11111111111)))
>>> print(x+b)
0b1100110000b11111111111
また、必要に応じて、各文字列の左端の2ビット(つまり0bパッド)を削除するには、値が2のスライス関数 [2:]
が機能します:
>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
所属していません StackOverflow