Computer/Delphi
유니코드 변환 코드
Gu Youn
2003. 12. 17. 18:02
1. String -> WideChar[] 변환 개념 : MultiByteToWideChar API를 이용한다. 소스 : var data : String; someunicode : array of widechar; len : integer; begin data := '안녕하세요.'; len := StrLen(PChar(data)); MultiByteToWideChar(CP_ACP, 0, PChar(data), -1, @someunicode[0], len); end; 2. String <-> WIdeString 개념 : 델파이에서는 자동 형변환 되므로 신경 쓸 필요 없음 소스 : 델코 민성기 님 작성 http://www.delphikorea.com/board/zboard/view.php?id=qa&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&keyword=유니코드&select_arrange=headnum&desc=asc&no=20996 var WStr : WideString; SStr : String; TempStr1, TempStr2 : String; i : Integer; begin WStr := '얼러리꼴러리!'; SStr := WStr; //이렇게 해도 결과 같음 //SStr :='얼레리꼴러리!'; //Wstr := WIdeString(SStr); for i:= 1 to Length(WStr) do begin TempStr1 := TempStr1 + '$' + IntToHex(Ord(WStr[i]), 2); if i <> Length(WStr) then TempStr1 := TempStr1 + ', '; end; for i:= 1 to Length(SStr) do begin TempStr2 := TempStr2 + '$' + IntToHex(Ord(SStr[i]), 2); if i <> Length(SStr) then TempStr2 := TempStr2 + ', '; end; ShowMessage( Format( '유니코드 "%s", 길이 %d'#13'%s' +#13#13+ '일반문자 "%s", 길이 %d'#13'%s', [WStr, Length(WStr), TempStr1, SStr, Length(SStr), TempStr2] ) ); end; |