코드 작성 시 문자열 관련해서 오류가 나는 경우가 있어서 조사해봄.
- 멀티바이트
아스키코드는 문자 하나를 1 byte로 표현해 다른 문자를 표현 불가하다.
따라서 멀티바이트라는 게 탄생했는데
멀티바이트는 영어를 제외 문자들은 2 byte 이상의 문자 집합으로 글자를 표현한다.
이를 통해 한국어, 일어 등을 표현할 수 있으며 특징은 특정 문자 집합마다 코드 페이지가
따로따로 존재한다는 것이다. (코드 페이지를 잘못 사용하면 글자가 깨지거나 할 수 있음)
이러한 특징 때문에 메모리를 덜 쓰게 되는 경우도 있지만
코딩할 때 문자열 사용 시 제대로 확인하지 않으면 버그가 일어나는 경우가 많다.
- 유니코드
유니코드는 위와 같은 멀티바이트의 문제점을 보완할 수 있다.
유니코드는 모든 문자의 한 글자를 2 byte로 표현하는 방식을 이용하는데 (문자마다 개별 유니코드를 가짐.)
이 덕분에 코드를 작성할 때 더 쉽게 작성할 수 있고 때문에 여러 문자들을 표현 시 어려움이 줄어든다 라는 장점이 있다.