delphi utf8乱码问题


本文整理自网络,侵删。

 其中的 utf8 是一种常用的 unicode 编码方式,在目前的网络环境中应用最广,特别是在java,xml这种国际化很强的地方.delphi并不支持原生的utf8字符串,它对 unicode 的支持则是非常好了.将普通字符串赋值给 String 类型即可.而对 uft8 则要用到上面所说的Utf8ToAnsi 等转换函数.好在这些函数都很容易使用,只是大家在使用时要注意自己当前操作的字符串是什么类型就行了.类似的函数还有
AnsiToUtf8

UTF8Decode
Utf8ToAnsi
UTF8Decode
UTF8Encode

 下面我是把UTF-8编码的XML 载入MEMO 的代码



procedure TForm1.Button1Click(Sender: TObject);
var s:string;
 tt:TMemoryStream;
 i:Integer;
 Filebuf: array of pchar;
begin

  i:=0;
  tt:=TMemoryStream.Create;

  tt.LoadFromFile('1.xml');
  i:=tt.Size ;
  SetLength(FileBuf,i);
  tt.ReadBuffer(FileBuf[0],i);

  s:=StrPas(@Filebuf[0]);
  S := Utf8ToAnsi(s)  ;
  memo1.Lines.Text:= S     ;

  end;

相关阅读 >>

Delphi 10.x ide界面

重新组织编写Delphi的md2、md4、md5类

crc8unt.pas

Delphi 在win32程序中显示dos调试窗口

Delphi链接自己的主页和邮件

Delphi 分解链接主域名和文件名

Delphi 将 4 个 byte 合成 1 个 integer 的五种方法 - 回复 "三足乌" 的问题

Delphi程序在win7 win8 win10下自动请求以管理员身份运行

Delphi kbmmw sampleservice/sampleclient方式传输数据集

Delphi 取当前目录下所有文件夹名和文件名

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...