Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 바이트 리터럴을 문자열로 변환하는 방법

파이썬에서 바이트 리터럴(b'...')을 일반 문자열(str)로 변환하려면 디코딩(decoding) 과정이 필요합니다. 가장 기본적인 방법은 bytes 객체가 기본 제공하는 decode() 메서드를 사용하는 것입니다.

decode() 메서드 사용 예제

>>> b"abcde".decode("utf-8")
'abcde'

decode() 메서드의 인자에는 바이트 데이터가 인코딩된 문자셋을 지정합니다. 위 예제에서는 가장 널리 쓰이는 UTF-8을 사용했으며, 인자를 생략할 경우 기본값으로 UTF-8이 적용됩니다.

chr() 함수를 이용한 변환

바이트 값이 ASCII 코드 범위 내에 있다면, 각 바이트를 chr() 함수로 매핑한 뒤 하나의 문자열로 조합하는 방법도 사용할 수 있습니다.

bytes = [112, 52, 52]

print("".join(map(chr, bytes)))

실행 결과

p44

다만 이 방식은 ASCII(0~127) 범위의 바이트에만 적합합니다. 한글처럼 여러 바이트로 표현되는 문자가 포함된 데이터는 반드시 decode('utf-8') 방식을 사용해야 올바르게 변환됩니다.