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바이트를 쓰는 느낌이 나네요
결론은.. 유니코드에 대해 이해도가 부족해서 한번 파봐야 알 수 있을 것 같은데.. 간단히 이러한 원인에 대해 설명해주실 수 있는분 계신가요?
본격적으로 위키&구글링하기전에 조언을 구하려 잠시 들렸습니다..;
|