문제

파이썬에서 이진 값으로 문자열을 연결하는 가장 쉬운 방법은 무엇입니까?

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

필요한 경우 각 문자열 (예 : 0B 패드)의 왼쪽에서 두 개의 비트를 제거하려면 슬라이스 기능 [2:] 2 개의 값으로 :

>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top