var
b,b1:TBytes;
s:RawByteString;
begin
SetLength(b,24);
b[0]:=60;
b[1]:=98;
b[2]:=114;
b[3]:=62;
b[4]:=229;
b[5]:=176;
b[6]:=138;
b[7]:=230;
b[8]:=149;
b[9]:=172;
b[10]:=231;
b[11]:=154;
b[12]:=132;
b[13]:=81;
b[14]:=81;
b[15]:=231;
b[16]:=148;
b[17]:=168;
b[18]:=230;
b[19]:=136;
b[20]:=183;
b[21]:=239;
b[22]:=188;
b[23]:=154;
s:=StringOf(b);
Edit2.Text:=UTF8Decode( s);
b1:=BytesOf(s);
end;
我收取邮件是收到的一段UTF8编码的数据,发现解码后是乱码,最后调试后发现UTF8解码不完全,后来发现竟然转回去还会丢数据。这个邮件在163下收取是不会乱码的。
这一小段的数据原始的样子是这样的,(9, 9, 60, 98, 114, 62, 229, 176, 138, 230, 149, 172, 231, 154, 132, 81, 81, 231, 148, 168, 230, 136, 183, 239, 188, 154, 13, 10)
b,b1:TBytes;
s:RawByteString;
begin
SetLength(b,24);
b[0]:=60;
b[1]:=98;
b[2]:=114;
b[3]:=62;
b[4]:=229;
b[5]:=176;
b[6]:=138;
b[7]:=230;
b[8]:=149;
b[9]:=172;
b[10]:=231;
b[11]:=154;
b[12]:=132;
b[13]:=81;
b[14]:=81;
b[15]:=231;
b[16]:=148;
b[17]:=168;
b[18]:=230;
b[19]:=136;
b[20]:=183;
b[21]:=239;
b[22]:=188;
b[23]:=154;
s:=StringOf(b);
Edit2.Text:=UTF8Decode( s);
b1:=BytesOf(s);
end;
我收取邮件是收到的一段UTF8编码的数据,发现解码后是乱码,最后调试后发现UTF8解码不完全,后来发现竟然转回去还会丢数据。这个邮件在163下收取是不会乱码的。
这一小段的数据原始的样子是这样的,(9, 9, 60, 98, 114, 62, 229, 176, 138, 230, 149, 172, 231, 154, 132, 81, 81, 231, 148, 168, 230, 136, 183, 239, 188, 154, 13, 10)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货