파이썬에서 이진 값과 현을 연결하는 방법은 무엇입니까?
-
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
필요한 경우 각 문자열 (예 : 0B 패드)의 왼쪽에서 두 개의 비트를 제거하려면 슬라이스 기능 [2:]
2 개의 값으로 :
>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
제휴하지 않습니다 StackOverflow