본문 바로가기
Python

[Python] 문자열 데이터(String)와 bytes 간 변환 방법

by A6K 2022. 10. 21.

파이썬에서는 문자열을 텍스트 형태와 바이트 형태로 표현할 수 있다.가끔 사용하는 모듈이 바이트 형태의 문자열을 입력으로 받는 경우가 있다. 즉, 문자열을 인코딩해서 넣어줘야하는 경우가 있다. 반대로 리턴받은 바이트 형태의 데이터를 문자열로 변환해야하는 경우도 있다.

문자열을 바이트로 변환 - bytes()

bytes() 함수를 이용해서 문자열을 바이트로 변환할 수 있다. 예를 들어 

input_string = 'Hello, world'
print(input_string)

bytes_string = bytes(input_string, 'utf-8')
print(bytes_string)

문자열 데이터를 bytes() 함수를 이용해서 바이트 형태로 변환할 수 있다. 이 때, 어떤 인코딩 알고리즘을 사용할지 bytes() 함수의 인자로 같이 넣어주면 된다.

위 코드는 다음 결과를 출력한다.

Hello, world
b'Hello, world'

문자열을 바이트로 변환 - encode()

비슷하게 string.encode() 를 이용해서 바이트 형태로 변환할 수도 있다. encode() 함수의 인자로 변환할 인코딩을 전달하면된다.

input_string = 'Hello, world'
print(input_string)

bytes_string = input_string.encode('utf-8')
print(bytes_string)

bytes() 함수와 동일한 결과를 출력한다.

바이트를 문자열로 변환 - decode()

encode()를 이용해서 문자열을 바이트로 변환했다면 반대로 decode()를 이용해서 바이트를 문자열로 변환할 수 있다.

input_string = 'Hello, world'
bytes_string = input_string.encode('utf-8')

out_string = bytes_string.decode('utf-8')
print(out_string)

바이트를 문자열로 변환 - str()

아니면 str()을 이용해서 바이트를 문자열로 바꿀 수도 있다.

input_string = 'Hello, world'
bytes_string = input_string.encode('utf-8')

out_string = str(bytes_string, 'utf-8')
print(out_string)

 

 

파이썬 스크립트 작성에 도움되는 글 모음

파이썬으로 프로그램을 작성할 때 도움되는 글들을 모아본다. Python 문법 Python 모듈

hbase.tistory.com

 

댓글