[파이썬] 문자열의 바이트와 유니코드 변환

파이썬에서는 문자열을 다루는데에 있어서 바이트와 유니코드 간의 변환이 중요합니다. 이러한 변환은 다양한 유니코드 인코딩 방식으로 이루어질 수 있으며, 이를 통해 문자열을 다른 형식으로 저장하거나 전송할 수 있습니다.

문자열을 바이트로 변환하기

문자열을 바이트로 변환하는 방법은 encode() 메서드를 사용합니다. 이 메서드는 지정한 인코딩 방식에 따라 문자열을 해당 인코딩 형식의 바이트로 변환합니다.

string = "안녕하세요"
encoding = "UTF-8"
byte_string = string.encode(encoding)
print(byte_string)  # b'\xec\x95\x88\xeb\x85\x95\xed\x95\x98\xec\x84\xb8\xec\x9a\x94'

위의 예제에서는 UTF-8 인코딩 방식을 사용하여 문자열을 바이트로 변환했습니다. 이러한 변환을 통해 문자열을 바이트 형식으로 저장하거나 네트워크 상에서 전송할 수 있습니다.

바이트를 문자열로 변환하기

바이트를 문자열로 변환하는 방법은 decode() 메서드를 사용합니다. 이 메서드는 바이트를 지정한 인코딩 방식에 따라 문자열로 변환합니다.

byte_string = b'\xec\x95\x88\xeb\x85\x95\xed\x95\x98\xec\x84\xb8\xec\x9a\x94'
encoding = "UTF-8"
string = byte_string.decode(encoding)
print(string)  # 안녕하세요

위의 예제에서는 UTF-8 인코딩 방식을 사용하여 바이트를 문자열로 변환했습니다. 이러한 변환을 통해 바이트 형식으로 저장된 데이터를 다시 문자열로 사용할 수 있습니다.

다른 인코딩 방식 사용하기

파이썬에서는 다양한 인코딩 방식을 지원하고 있습니다. 일부 흔히 사용되는 인코딩 방식들은 아래와 같습니다.

인코딩 방식을 지정하지 않으면 기본적으로 시스템의 기본 인코딩 방식이 사용됩니다.

string = "안녕하세요"
byte_string = string.encode()  # 기본 인코딩 방식(시스템 기본 인코딩 방식) 사용
print(byte_string)

string = byte_string.decode()  # 기본 디코딩 방식(시스템 기본 디코딩 방식) 사용
print(string)

위의 예제에서는 인코딩 방식을 지정하지 않았으므로 기본 인코딩 방식(시스템 기본 인코딩 방식)이 사용됩니다.

문자열의 바이트와 유니코드 변환은 파이썬에서 문자열 처리에 필수적인 부분이며, 다양한 인코딩 방식을 사용할 수 있다는 점에서 유연성을 제공합니다. 올바른 인코딩 방식을 선택하여 문자열을 바이트로 변환하거나, 반대로 바이트를 문자열로 변환하는 작업을 수행할 수 있습니다.