String str = L"фиукцк";
L을 붙혀야되네요 ㅡㅜ L L L !
memi 님이 쓰신 글 :
: IDE: XE4
: 한글윈도우에서는 러시아 글자가 잘 표현되는데 러시아윈도우에서는 깨지네요..
:
: 간략히 러시아어를 한번 넣어서 대체 왜이러나 하면서.. 아래처럼 테스트를해봤는데요..
:
:
: String str = "фиукцк";
: // UTF8String ustr = UTF8Encode(str); // 이래저래시도해보나 잘 안된다 ㅡㅜ
:
: String lstr = "";
: for(int i = 0; i < str.Length(); i++)
: lstr += "0x" + IntToHex(str[i+1],4) + " ";
:
: Log(lstr);
:
: lstr = UTF8Encode(str);
: Log(lstr);
:
:
:
: 같은 코드인데도 불구하고 한글윈도우와 러시아 윈도우의 스트링길이(str.Length())가 틀리더라고요
:
: 한글윈도우: 6자리
: 0x0444 0x0438 0x0443 0x043A 0x0446 0x043A
: 러윈도우: 12자리
: 0x00AC 0x0436 0x00AC 0x042A 0x00AC 0x0435 0x00AC 0x042C 0x00AC 0x0438 0x00AC 0x042C
: 웬지 0x00AC는 식별기호같아보이고 한문자를 표현하는데 3바이트를 쓰는 느낌이 나네요
:
: 결론은.. 유니코드에 대해 이해도가 부족해서 한번 파봐야 알 수 있을 것 같은데.. 간단히 이러한 원인에 대해 설명해주실 수 있는분 계신가요?
: 본격적으로 위키&구글링하기전에 조언을 구하려 잠시 들렸습니다..;
|