<!--CodeS-->
생 뚱 맞 죠
& #49373 & #46769 & #47582 & #51424 ->빈칸 붙여 쓰면 이 게시판에도 똑같은.. ㅡ,.ㅡ;;
<!--CodeE-->
싸이월드라는 방명록에 위의 숫자키를 써 넣고 완료를 누르면
밑에 쌩뚱~으로 해석되어 나타 납니다.
그냥 한글 십진코드인갑다 했는데...
아닌거 같은....
도데체 알수 없는..
묻고 답하기를 참조하여 코딩을 해본 결과
쌩-> [Http용]%BD%DF -> [16진수]BDDF ->[십진수] 48607
[http용]
memo2.lines.Add(HTTPEncode(a));
[16용]
c := IntToHex(Ord(a[j]),2)+IntToHex(Ord(a[j+1]),2);
[10용]
위에 16진수를 가져다가 &만 붙여서
c:=inttostr(strtoint('$'+c));
일케 나오는데..
그래서 한글 말구 영문이나 기호를 해
Ansi와 Unicode의 차이같은데요... 아래 코드로 확인해보세요...
<!--CodeS-->
procedure TForm1.Button3Click(Sender: TObject);
var
AnsiCode: string;
WideCode: WideString;
IntValue: Integer;
begin
AnsiCode := '쌩';
IntValue := (Byte(AnsiCode[1]) shl 8) + Byte(AnsiCode[2]);
Memo1.Lines.Add('Ansi: ' + AnsiCode + ' ' + IntToStr(IntValue));
WideCode := '쌩';
IntValue := Word(WideCode[1]);
Memo1.Lines.Add('Wide: ' + WideCode + ' ' + IntToStr(IntValue));
AnsiCode := '생';
IntValue := (Byte(AnsiCode[1]) shl 8) + Byte(AnsiCode[2]);
Memo1.Lines.Add('Ansi: ' + AnsiCode + ' ' + IntToStr(IntValue));
WideCode := '생';
IntValue := Word(WideCode[1]);
Memo1.Lines.Add('Wide: ' + WideCode + ' ' + IntToStr(IntValue));
end;
Ansi: 쌩 48607
Wide: 쌩 49961
Ansi: 생 48125
Wide: 생 49373
<!--CodeE-->
^^ 항상즐코하세요...