std :: string 및 UTF8로 작업하는 것이 다소 복잡한 문제인 것 같아 do 및 dont에 대한 좋은 설명을 찾을 수 없습니다.UTF8 작업
C++의 UTF8에서 제대로 작동하려면 어떻게해야합니까? 오히려 혼란 스럽습니다.
나는 boost::locale
을 발견했습니다 나는 글로벌 로케일 설정 : 내가 문제를 얻을 수있을 때, 내가 생각해야하는 일이 후, 그러나
std::locale::global(boost::locale::generator()(""));
를? 파일에서 쓰기/읽기가 예상대로 작동합니까, 문자열 비교 등 ...?
지금까지 나는 다음 알고 있어요 :
std::regex
/boost::regex
넓은 문자열로 covnert 및 wregex를 사용할 필요가에서 작동하지 않습니다.boost::algorithm::to_upper
내가 알 필요가 무엇보다 다른boost::locale::to_upper
를 사용할 필요가 작동하지 않습니다?
오른쪽. 응용 프로그램 내부에서 UTF-8로 작업하지 마십시오. C++ 표준 라이브러리는 하나의 인코딩 값 = 하나의 문자로 가정합니다. –
그럼 내가 뭘해야 할까? wstring/UTF16은 하나의 인코딩 값이 아닌 하나의 문자입니까? – ronag
@ Cheersandhth.-Alf : 그 가정은 UCS-4에서도 사실이 아닙니다. 사실, 모든 유니 코드 인코딩에는 사실이 아닙니다. – Fanael