\u
인코딩 된 시퀀스와 함께 문자열 리터럴을 사용하여 QString::fromUtf8
으로 전달했습니다 (QString::fromUtf8("Precio (\u20AC/k)");
과 같음).하지만 내 마음을 조금 고민하고 cppreference를 읽는 중입니다. 및 다른 출처, 나는 이진으로 번역 된 \u20AC
시퀀스가 어떻게되는지 명확하지 않습니다.QString :: fromUtf8 (str) 및 u 인코딩 된 문자 시퀀스
다른 말로하면, \u20AC
시퀀스 대신 QString::fromUtf8
수신이란 무엇입니까? 20AC
코드 포인트의 UTF-8 표현은 무엇입니까? 그것의 UTF-16 표현? 또는 무엇을?
내가 읽은 대부분의 소스는 UTF-16 표현으로 변환되었다고합니다. 즉, 해당 문자열을 fromUtf8
으로 전달할 때 잘못했음을 의미합니다. 그러나 항상 정상적으로 작동합니다.
내가 옳은 일을하고 있는지 아닌지 알고 싶습니까?
심지어 어떤 유니 코드 이스케이프 시퀀스가 없으면? 그래서 순수 ASCII 아스키 프리픽스 리터럴 문자열''hello ''는 UTF-16으로 인코딩 될 수 있습니까? –
@ Peregring-lk no, UTF-16은 실행 문자 세트의 멀티 바이트 인코딩으로 허용되지 않습니다. 그것은 wchar_t가 16 비트 인 이상한 컴파일러 (Visual Studio)가'L "의 인코딩으로 사용할 수도 있습니다. hello"' – Cubbi
그래, 접두사가없는 문자열 리터럴의 인코딩은 내용에 따라 달라질 수 있습니다. 안 그래? 문자열에 실행 문자 집합 만 있으면 ASCII 인코딩 (= UTF-8, = ISO-8859-1 등)하지만 다른 문자가 포함되어 있으면 이러한 특정 문자열의 인코딩은 구현에 따라 정의됩니다. 그렇지 않니? –