URL:http://www.gagalive.kr/livechat1.swf?chatroom=~~~BBQDelphi 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;
[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)你会想把anischar(0)附加到一个字节类型2.是write()真的是rawbytestring吗?如果它被声明为字符串,它将无论如何转换回UTF16。 –
是的,“不工作”是相当无望的。您使用哪种写入超载?字符串一个?这将转换回UTF-16。可能需要直接写入字节来保留UTF-8。但我猜,因为我实际上并不知道什么是错的。 –