Delphi 把流中的字符串转换为 UTF 格式


本文整理自网络,侵删。

 unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
stream1,stream2: TStringStream;
b: Byte;
bs: string;
begin
{建立第一个流, 使用默认的双字节编码; 流中的数据是 Memo 中的字符串}
stream1 := TStringStream.Create(Memo1.Text, 54936);

{把第一个流的十六进制编码显示在 Memo 中}
bs := '';
for b in stream1.Bytes do bs := Format(bs + '%2x ', [b]);
Memo1.Lines.Add(bs);

{建立第二个流, 用 UTF8 编码; 还是基于第一个流中的字符串}
stream2 := TStringStream.Create(stream1.DataString, TEncoding.UTF8);

{把第二个流的十六进制编码显示在 Memo 中}
bs := '';
for b in stream2.Bytes do bs := Format(bs + '%2x ', [b]);
Memo1.Lines.Add(bs);

stream1.Free;
stream2.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Align := alTop;
Memo1.ScrollBars := ssBoth;
Memo1.Text := '万一的 Delphi 博客';
end;

end.

 

来源:https://www.cnblogs.com/del/archive/2008/12/26/1362978.html

相关阅读 >>

Delphi 万年历 程序源码下部分(包括:农历计算、24节气、星期计算、属相)

Delphi idhttp与cookie

Delphi 为 service application 添加描述文本的方法

Delphi 固定保持datetime日期格式

Delphi 从网页里下载图片的程序

Delphi 在ms access数据库中图像的存储和显示

Delphi windows 编程[2] - 学习窗体生成的过程二

Delphi tlog 日志

Delphi的goto语句

Delphi 建立快捷方式

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



打赏

取消

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

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

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

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

评论

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