728x90
반응형
이번 포스트에서는 파이썬을 통한 인코딩과 디코딩을 알아보겠습니다.
1) 인코딩과 디코딩이란?
우선 인코딩과 디코딩이 무엇인지 알아보겠습니다.
인코딩은 사람이 인지할 수 있는 형태의 데이터를 컴퓨터가 이해할 수 있는 형태로 변환하는 것을 의미합니다.
인코딩은 다른 말로 코드화, 암호화, 부호화 등으로 표현할 수 있습니다.
디코딩은 인코딩과는 반대로 동작합니다.
컴퓨터가 이해할 수 있는 형태에서 사람이 인지할 수 있는 형태로 변환하는 것을 의미합니다.
다른 말로 역코드화, 복호화 등으로 표현할 수 있습니다.
이때 인코딩과 디코딩의 방식은 같은 방식으로 이뤄져야 합니다.
만약, 인코딩을 UTF-8 방식으로 진행했다면 디코딩 역시 UTF-8 방식으로 진행해야 합니다.
이제 예제를 통해 파이썬에서 인코딩과 디코딩이 어떻게 이뤄지는 지 알아보겠습니다.
2) 인코딩 예제
a = "Apple Tree"
print(type(a))
aa = a.encode("utf-8")
print(type(aa))
print(aa)
c = "사과나무"
aaa = c.encode("utf-8")
print(aaa)
위의 코드에서 aa는 영어를, aaa는 한글을 utf-8로 인코딩하였습니다.
이제 실행결과를 확인해보겠습니다.
인코딩이 잘 이루어져 aa의 경우 bytes 타입으로 찍히는 것을 확인할 수 있습니다.
그리고 aa와 aaa의 출력 결과 앞에 있는 소문자 b는 bytes 자료형임을 알려주는 축약어입니다.
3) 디코딩 예제
앞선 코드를 이제는 디코딩해보겠습니다.
a = "Apple Tree"
aa = a.encode("utf-8")
c = "사과나무"
aaa = c.encode("utf-8")
d = aa.decode("utf-8")
print(type(d))
print(d)
dd = aaa.decode("utf-8")
print(type(dd))
print(dd)
실행결과를 확인해보면
위와 같이 인코딩된 데이터들이 디코딩되어 bytes 자료형에서 str 자료형으로 형변환되었고
출력문에서도 문자열이 잘 출력되는 것을 확인할 수 있습니다.
728x90
반응형
'Python' 카테고리의 다른 글
외부 라이브러리 (1) | 2024.11.18 |
---|---|
Closure와 Decorator (0) | 2024.11.17 |
자료형 어노테이션 (0) | 2024.11.15 |
iterator와 generator (0) | 2024.11.14 |
python을 통한 주식 관련 정보 추출 (2) (0) | 2024.03.03 |