Dolphins의 HelloWorld
Python의 문자표현 본문
ASCII 코드 / 유니코드
아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반한다.
-> 메모리에서 8비트를 차지한다.
파이썬에서 ord()를 사용하면 ASCII문자에 대응하는 숫자를 알 수 있다.
print(ord(' ')) #결과 : 32
print(ord('!')) #33
print(ord('A')) #65
하지만 ASCII는 영문자 외에 다른 문자를 표현하기에는 부족하며 그래서 발전한것이 Unicode이다.
이미 Unicode는 많은 문자를 포함하고 있으며, 여전히 다른 새로운 문자를 저장할 여력이 있다.
하지만 문제는 유니코드를 네트워크를 전송할 때 용량이 과도하게 크다는 점이다.
때문에 유니코드를 압축한 UTF-8을 사용한다.
(UTF-32의 용량 : 4Bytes, UTF-16의 용량 : 2Bytes, UTF-8의 용량 ; 1-4Bytes (동적이며 ASCII코드와 겹침)
Python 3 에서 문자열은 유니코드 형식으로 다루어진다.
네트워크를 통해 데이터를 주고받을 때는 데이터를 변환해야하는 것이 필요한데
예를들어 우리는 종종 데이터를 전송하기 전에 UTF-8 byte 방식으로 인코딩을 해주며
데이터를 전송 받았을 때는 유니코드 형태로 디코딩한다.
'python > python 심화' 카테고리의 다른 글
urllib 와 Beautiful soup (0) | 2018.07.13 |
---|---|
lambda, map reduce (0) | 2018.07.10 |
Enumerate,Zip (0) | 2018.07.10 |
Split, Join, List comprehensions (0) | 2018.07.10 |
Comments