在http://expert.csdn.net/Expert/topic/2415/2415655.xml?temp=.3184931中,
你的方法对于中文好像不起作用,是不是编码上有什么奥妙。
‘人’的unicode用delphi转出来是4EBA。你是怎么转成CBC8的?(用CBC8能推出人)
你的方法对于中文好像不起作用,是不是编码上有什么奥妙。
‘人’的unicode用delphi转出来是4EBA。你是怎么转成CBC8的?(用CBC8能推出人)
解决方案 »
- d2007怎么写三层的应用服务器?
- 请教一个关于对数据库做的问题?
- 我在做一个自定义组件,到处是错误?
- MessageDlg的问题
- 不想执行后面的语句,退出当前PORCEDURE,用EXIT吗?
- delphi开发b/s结构的问题
- Delphi开发的WebService如何用Tomcat发布
- 发生:General SQL error 数据转换发生溢出 怎么处理
- 各位大虾,Linux能不能组建无盘工作站,有谁能提供一点资料?
- 如何得到程序自身的所在目录地址呢?大虾们?
- TQUERY。。。让我郁闷了。。求救
- 在win2000字体显示正常,但在win98显示不正常,反之亦然,如何解决,难道只能在98和win200分别设置字体编译吗
var i,len:Integer; cur:Integer; t:String;
begin
Result:='';
len:=Length(s);
i:=1;
while i<=len do
begin cur:=ord(s[i]);
FmtStr(t,'%4.4X',[cur]);
Result:=Result+t;
inc(i);
end;
end;可以推出4EBA
function Encode2(var s: String):String;
var i,len:Integer; cur:Integer; t:String;
begin
Result:='';
len:=Length(s);
i:=1;
while i<=len do
begin cur:=ord(s[i]);
FmtStr(t,'%4.4X',[cur]);
showmessage(inttohex(cur, 2));
Result:=Result+t;
inc(i);
end;
end;
CBC8是string的“人”的码。 length(人)=2怎么解决widestring的转换呢?
晕啊
TUnichar = packed record
case Integer of
0: (s: array[0..3] of widechar);
1: (x: Integer);
end;function GetUnichar(Value: Integer): string;
var
c: TUnichar;
begin
c.x := Value;
Result := c.s;
end;
TUnichar = packed record
case Integer of
0: (s: array[0..3] of char);
1: (x: Integer);
end;
function GetUnichar(Value: Integer): string;
var
c: TUnichar;
begin
c.x := Value;
Result := c.s;
end;function GetUnicharValue(Value: string): Integer;
var
c: TUnichar;
begin
Move(Value[1], c.s, 2);
c.s[2] := #0;
Result := c.x;
end;
TUnichar = packed record
case Integer of
0: (s: array[0..3] of widechar);
1: (x: Integer);
end;
function GetUnichar(Value: Integer): widestring;
var
c: TUnichar;
begin
c.x := Value;
Result := c.s;
end;function GetUnicharValue(Value: widestring): Integer;
var
c: TUnichar;
begin
Move(Value[1], c.s, 2 * sizeof(widechar));
c.s[2] := #0;
Result := c.x;
end;
case integer of
0:(s:widechar);
1:(x:integer);
就行了能讲讲这个结构是怎么理解的吗?