... | ... | @@ -193,4 +193,14 @@ class StarTest |
|
|
|
|
|
## 질문사항
|
|
|
|
|
|
### 유니코드와 인코딩 방식 |
|
|
\ No newline at end of file |
|
|
### 유니코드와 인코딩 방식
|
|
|
|
|
|
유니코드는 ASCII 방식에서 표현하지 못하던 문자까지 표현할 수 있다는 장점을 가졌다. 유니코드의 인코딩 방식은 UTF-8, UTF-16, UTF-32 등이 있고, 가변 길이 인코딩이다. 뒤의 숫자는 기본 표현이 몇 비트로 이루어지는지 차이에 따라서 숫자가 달라진다.
|
|
|
|
|
|
* **UTF-8**
|
|
|
UTF-8은 기본 문자 표현에 1byte를 사용한다. 그리고 ASCII랑 호환이 가능하다. 이런 이유로 웹이나 DB에서는 주로 UTF-8을 쓴다. 그리고 NULL 문자가 나오지 않기 때문에 중간에 NULL 값이 있으면 문제가 될 수 있는 자료형에도 이용 가능하다. 알파벳 표현시에는 1byte로 표현하지만 한글은 3byte로 표현한다.
|
|
|
|
|
|
* **UTF-16**
|
|
|
UTF-16은 기본 문자 표현에 2byte를 사용한다. 알파벳이나 한글이나 똑같이 2byte로 표현한다. BMP(기본 다국어 평면)상의 문자는 모두 2byte로 나타낼 수 있다. 바이트의 순서가 순차적이면 빅 엔디안, 역순이면 리틀 엔디안이라고 한다. 이것을 나타내기 위해서 리틀 엔디안에선 BOM을 넣는다. 하지만 대부분의 시스템은 빅 엔디안을 사용하기 때문에 BOM을 제대로 인식 못하고 문자로 읽어버려서 에러를 낼 가능성이 있기 때문에 웹 상에서는 UTF-8을 주로 쓴다. 닷넷 프레임워크의 기본 인코딩이 UTF-16이다.
|
|
|
|
|
|
|