delphi中如何进行字符编码的转化(100分)

J

jzblove

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]当我有一个Str
var
Str:String='你好';
怎么转化为unicode码字符串


 
var
x:widestring;
begin
x:=str;
end;
 
这是我以前写的程序,很全的。包括很多方法的编码和解码。
不清楚我有源程序给你发一份。

别忘了给分!:)

unit Unit1;

interface

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

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Edit4: TEdit;
Button2: TButton;
Edit5: TEdit;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
NMUUProcessor1: TNMUUProcessor;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Edit6: TEdit;
Button3: TButton;
Button4: TButton;
Memo1: TMemo;
Memo2: TMemo;
GroupBox4: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
NMURL1: TNMURL;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
NMURL1.InputString:=edit1.Text; //将需编码的字符串传给NMURL控件的INPUTSTRING
edit2.Text:=NMURL1.Encode; //进行编码
edit3.Text:=NMURL1.Decode; //进行解码
end;

procedure TForm1.Button2Click(Sender: TObject);
var
instream,outstream:tfilestream;
begin
if opendialog1.Execute then
begin
instream:=tfilestream.Create(opendialog1.FileName,fmopenread);
if savedialog1.Execute then
outstream:=tfilestream.Create(savedialog1.FileName,fmcreate);
try
if radiobutton4.Checked then
NMUUProcessor1.Method:=uumime//有大小写没有特殊字符
else
NMUUProcessor1.Method:=uucode;//字母都是大写有特殊字符
NMUUProcessor1.InputStream:=instream;
NMUUProcessor1.OutputStream:=outstream;
if radiobutton1.Checked then
NMUUProcessor1.Encode //进行编码
else
NMUUProcessor1.Decode;//进行解码
finally
instream.Free;
outstream.Free;
end;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);

begin
if pos('a',edit6.Text)>0 then
showmessage('wer');
end;

procedure TForm1.Button4Click(Sender: TObject);
var
l:tstringlist;
instream,outstream:tfilestream;
begin
l:=tstringlist.Create;
l.AddStrings(memo1.Lines);
l.SaveToFile('d:/u.txt');
instream:=tfilestream.Create('d:/u.txt',fmopenread);
outstream:=tfilestream.Create('d:/uu.txt',fmcreate);

//if pos('a',l.Text)>0 then
NMUUProcessor1.Method:=uumime;
//else
//NMUUProcessor1.Method:=uucode;
NMUUProcessor1.InputStream:=instream;
NMUUProcessor1.OutputStream:=outstream;
NMUUProcessor1.decode;
memo2.Lines.LoadFromStream(outstream);
//memo2.Lines.LoadFromFile('d:/uu.txt');
instream.Free;
outstream.Free;
end;

end.
 
接受答案了.
 

Similar threads

顶部