C++ wchar unicode utf-8 utf-32
Unicode 는 문자를 메모리에 저장할 때 어떤 값으로 저장할지 정해둔 코드 체계 중 하나 이다.Unicode에서 문자 하나를 몇 bit 로 표현하느냐에 따라서 8bit 즉 1byte씩 문자에 따라 여러 bytes로 표현될 수 있는, 가변 길이로 표현하는 것이 utf-8이고, 문자당 32bit 고정 길이로 표현하는 것이 utf-32 이다. utf-8 포맷으로 저장된 아래와 같은 cpp 소스가 있을 때, std::string str("가나다") 와 같이 작성하면, str 에 utf-8 로 "가나다" 가 저장되게 되고, str.size() 해보면 9 가 나온다. 이는 한글 unicode경우 utf-8 형식에서는 글자당 3 bytes 차지하기 때문이다.std::setlocale(LC_ALL, ""); //..
2024.09.06