웹사이트 검색

파이썬 문자열 encode() decode()


파이썬 문자열 인코딩()

Python string encode() 함수는 제공된 인코딩을 사용하여 문자열을 인코딩하는 데 사용됩니다. 이 함수는 바이트 객체를 반환합니다. 인코딩을 제공하지 않으면 "utf-8\ 인코딩이 기본으로 사용됩니다.

파이썬 바이트 디코드()

Python bytes decode() 함수는 바이트를 문자열 객체로 변환하는 데 사용됩니다. 이 두 기능을 통해 인코딩/디코딩 오류에 사용할 오류 처리 체계를 지정할 수 있습니다. 기본값은 인코딩 오류가 UnicodeEncodeError를 발생시킨다는 의미의 'strict'입니다. 다른 가능한 값은 'ignore', 'replace' 및 'xmlcharrefreplace'입니다. 파이썬 문자열 encode() decode() 함수의 간단한 예를 살펴보겠습니다.

str_original = 'Hello'

bytes_encoded = str_original.encode(encoding='utf-8')
print(type(bytes_encoded))

str_decoded = bytes_encoded.decode()
print(type(str_decoded))

print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)

산출:

<class 'bytes'>
<class 'str'>
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True

위의 예는 인코딩 사용을 명확하게 보여주지 않습니다. 사용자로부터 입력을 받은 다음 인코딩하는 또 다른 예를 살펴보겠습니다. 사용자가 입력한 입력 문자열에 몇 가지 특수 문자가 있습니다.

str_original = input('Please enter string data:\n')

bytes_encoded = str_original.encode()

str_decoded = bytes_encoded.decode()

print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)
Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True

GitHub 리포지토리에서 전체 Python 스크립트와 더 많은 Python 예제를 확인할 수 있습니다.

참조: bytes.decode() API 문서