URL : http://www.gagalive.kr/livechat1.swf?chatroom=~~~BBQ델파이 XE2 : UTF16LE -> UTF8
[1] ------------------------------ -------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
IdTCPClient.Host := '61.97.246.131';
IdTCPClient.Port := 8080;
IdTCPClient.Connect;
IdTCPClient.IOHandler.Write('Ag8m' + Char(0));
IdTCPClient.IOHandler.Write('LShady|###BBQ' + Char(0));
IdTCPClient.IOHandler.Write('#' + 'Some Text' + Char(0));
IdTCPClient.Disconnect;
end;
[2] -------------------------------------------------- -----------------
function UTF8FromUTF16_2(sUTF16: UnicodeString): UTF8String;
begin
Result := sUTF16;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
IdTCPClient.Host := '61.97.246.131';
IdTCPClient.Port := 8080;
IdTCPClient.Connect;
IdTCPClient.IOHandler.Write('Ag8m' + Char(0));
IdTCPClient.IOHandler.Write('LShady|###BBQ' + Char(0));
IdTCPClient.IOHandler.Write(UTF8FromUTF16_2('#' + '안녕' + Char(0)));
IdTCPClient.Disconnect;
end;
,536,913,632 10
[1] : 작업
[2] : 작동하지 않습니다 (문자열 깨진> 행실이 : ??)
참조 : http://www.gagalive.kr/livechat1.swf?chatroom=~~~BBQ
UTF8FromUTF16 기능 원래 VB 코드 : VB 6.0 -> Delphi XE2 Conversion
도와주세요 .. :(
2 작동하지 않습니까? 1. 또는 무엇을 기대하고 무엇을 가지고 설명하십시오. – GolezTrol
1. char (0) <> ansichar (0) 1 바이트 유형에 anischar (0)을 첨부하려고합니다. 2. write()는 rawbytestring입니까? 문자열로 선언되면 어쨌든 UTF16으로 다시 변환됩니다. –
그래, "일하지 않는다"는 절망적이다. 어떤 쓰기 오버로드를 사용하고 있습니까? 문자열 하나? 그러면 UTF-16으로 다시 변환됩니다. UTF-8을 유지하기 위해 바이트를 직접 작성해야합니다. 그러나 실제로 무엇이 잘못되었는지를 모르기 때문에 나는 추측하고 있습니다. –