PL/Python

유니코드(Unicode)와 UTF-8

SweetDev 2021. 12. 29. 17:05

ASCII, Unicode, UTF-8

ASCII: 글자당 1 byte

Unicode: 글자당 4 byte

UTF-8: 공간 낭비를 막는다. 글자당 1~4byte 사이로 필요한 byte만큼 사용한다.

 

UTF-8이 공간 낭비를 막는 방식

UTF-8이 공간 낭비를 막는 방식에 대해서 살펴보자!

 

결론적으로 기억할 사실은 UTF-8은 US-ASCII와 호환성을 가졌다는 사실이다. 

 

첫 바이트의 맨 앞 비트가 0이면 1바이트 문자, 10인 경우 특정 문자의 중간 바이트, 110인경우 2바이트, 1110인경우 3바이트, 11110인경우 4바이트 인걸로 문자 바이트의 길이를 인식할 수 있다. 

 

ASCII는 128개의 글자가 있다. 그러므로 2^7 -> 7 bit로 표현 가능하다. 1byte에 store 할 수 있는 것이다!

파이썬 알고리즘 인터뷰 (박상길 저) p 164

 

 

 

[출처]

파이썬 알고리즘 인터뷰 (박상길 저) p 164