+ -
当前位置:首页 → 问答吧 → TEncoding,D7下怎么写,高手来。

TEncoding,D7下怎么写,高手来。

时间:2011-08-31

来源:互联网

var
  ss : TStringStream;
begin
  ss := TStringStream.Create('', TEncoding.GetEncoding(936)); 

---------------
以上为D2007版本后的代码
请教,在D7下 ss := TStringStream.Create('', TEncoding.GetEncoding(936)); 这句怎么写呢,貌似D7下没有TEncoding这个单元

作者: Risk_lee   发布时间: 2011-08-31

2009才有TEncoding,在D7下面要进行不同编码字符之间转换的,其实也有 很多 选择,通常你肯定只要在两三种之间转换,可以选择WideStringToUCS4String,UCS4StringToWideString,UnicodeToUtf8,Utf8ToUnicode,UnicodeToUtf8,Utf8ToUnicode,UTF8Encode,UTF8Decode,AnsiToUtf8,Utf8ToAnsi这些来做
别人的一个例子,不知道有没有用
Delphi(Pascal) code

function TMainForm.ToHexString(s: string; encode: Integer): string;

var

len:Integer;

w:WideString;

u:UTF8String;

begin

Result := '';

if encode=1 then //Unicode

begin

w:=s;

Len := Length(s); //别写成 Len := Length(w);

SetLength(Result, Len shl 1);

BinToHex(PChar(w), PChar(Result), Len);

end else

if encode=2 then //UTF8

begin

u:=AnsiToUTF8(s);

Len := Length(u);

SetLength(Result, Len shl 1);

BinToHex(PChar(u), PChar(Result), Len);

end;

end;




作者: lvlufeng   发布时间: 2011-08-31

TEncoding.GetEncoding(936))好像是取国家的语言页面编码
能进入它的源代码看看它是怎么实现的?

作者: sz_haitao   发布时间: 2011-08-31

热门下载

更多