본문 바로가기
카테고리 없음

파이썬 문자열 encode () 내장함수 - 인코딩하기

by python pro 2023. 2. 15.
반응형

Python의 encode() 함수는 문자열을 인코딩하는데 사용됩니다. 인코딩은 문자열을 바이트 문자열로 변환하는 과정을 말합니다. 따라서 encode() 함수는 문자열을 지정된 인코딩 형식으로 변환하여 바이트 문자열로 반환합니다.

함수 형식: string.encode(encoding, errors='strict')

  • string: 인코딩할 문자열
  • encoding: 인코딩 형식. 기본값은 'utf-8'입니다.
  • errors: 오류 처리 방식. 기본값은 'strict'로서, 지정된 인코딩에서 지원하지 않는 문자가 포함된 경우 오류를 발생시킵니다. 'ignore'옵션을 사용하면 문자열에 포함된 지원하지 않는 문자를 무시하고, 'replace' 옵션을 사용하면 지원하지 않는 문자를 '?'로 대체할 수 있습니다.
# 올바른 예제
text = "Python encode() 함수"
encoded_text = text.encode("utf-8")
print(encoded_text) # b'Python encode() \xed\x95\xa8\xec\x88\x98'

 

실제 사용예시를 조금 더 보면 이해가 쉽습니다. 

# encoding a string to utf-8
string = "Hello, World!"
encoded_string = string.encode("utf-8")
print("Encoded String:", encoded_string)

# decoding an encoded string
decoded_string = encoded_string.decode("utf-8")
print("Decoded String:", decoded_string)

위 코드는 문자열을 utf-8 인코딩하여 인코딩된 문자열을 디코딩하여 원래의 문자열을 확인하는 예제입니다.

 

문자열을 인코딩 할때는 encode, 디코딩 할때는 decode 를 기억해주시면 됩니다. 

api들을 활용하다 보면 특정 인코딩을 해서 내려주는 경우가 있는데, 그때 적절히 decode해서 값을 확인할 수 있겠죠. 혹은 api를 만들때 어떤 인코딩 처리를 해서 보내줄 수 있을거고요. 인코딩이 안맞아서 글자가 깨지는 현상도 종종 만나게 되는데 그때 적절히 사용하시면 좋겠습니다.

 

 

대부분 한글과 관련된 인코딩, 디코딩 문제를 한번씩 만나게 되는데요.

한국어를 포함한 문자열을 저장하거나 전송하기 위해서는 파이썬에서 사용하는 문자열을 적절한 인코딩 방식으로 변환해야 합니다. 기본적으로 파이썬에서 사용하는 문자열은 Unicode이며, 이를 적절한 인코딩 방식으로 변환하지 않으면 한글이 깨져보일 수 있습니다.

 

한국어를 포함한 문자열을 저장할 때에는 주로 UTF-8을 사용합니다. 예를 들어, 다음과 같이 파일에 한국어 문자열을 저장할 수 있습니다.

# UTF-8로 인코딩된 한국어 문자열
korean_text = "안녕하세요"

# 파일에 저장
with open("korean_text.txt", "w", encoding="utf-8") as f:
    f.write(korean_text)

 

한국어 문자열을 인코딩한 후에는 같은 인코딩 방식으로 디코딩해야 합니다.

 

 

반응형

댓글