본문 바로가기

Language/python

python :: Unicode에 대한 단상

ascii에만 젖어있던던 나에게 unicode는 재앙과 같았다. 파일에서 읽어서 머 좀 하려고 하면 UnicodeEncodingError 예외 발생!! ㅠ.ㅜ

그래서 바로 구글링으로 몇가지 주옥같은 링크 발견한 후 속독!! 아래의 링크다.

속독한 후 알게된 사실.
1. Byte String(문자열)과 유니코드는 다르다.
2. Byte String(문자열)을 읽어 유니코드로 변환하는 과정을 decoding 이라고 한다.
3. 유니코드를 Byte String(문자열)로 변환하는 과정을 encoding 이라고 한다.
4. 파일/소켓/stdin에서 데이터를 읽거나 수신하였다면 decoding 과정을 거쳐 유니코드로 변환하자.
5. 파일/소켓/화면(stdout)으로 데이터를 쓰거나 전송하고싶다면 encoding 과정을 거쳐 Byte String으로 변환하자.

머 이 정도~!
나머진 차근차근히.. ㅎ