我已经知道如果
r:='5475' //5475 是 中文"呵" 的Unicode值
//16进制的75,十进制为117
//16进制的54,十进制为84
//如果执行下面语句
result=WideChar('$'+'75'+'54')
' result 结果为"呵" 事实上,"呵"字的 前一字节的ASC值186($BA) ,后一字节的ASC值199($C7) 现在,我如果想不用上面的widechar(),而是直接用某种算法,把 5475转换为 BAC7
有没有这样的算法呢? 我要的是纯计算法,不可以用widechar()之类的函数。
有人知道如何解决吗?
r:='5475' //5475 是 中文"呵" 的Unicode值
//16进制的75,十进制为117
//16进制的54,十进制为84
//如果执行下面语句
result=WideChar('$'+'75'+'54')
' result 结果为"呵" 事实上,"呵"字的 前一字节的ASC值186($BA) ,后一字节的ASC值199($C7) 现在,我如果想不用上面的widechar(),而是直接用某种算法,把 5475转换为 BAC7
有没有这样的算法呢? 我要的是纯计算法,不可以用widechar()之类的函数。
有人知道如何解决吗?
D:\Program Files\Borland\Delphi6\Demos\FastNet\Uue
看看这两个例子
var
i:Integer;
begin
if Length(UcStr)=4 then
begin
Result:=IntToHex(Ord(String(WideChar(StrToIntDef('$'+UcStr,0)))[1]),2)+IntToHex(Ord(String(WideChar(StrToIntDef('$'+UcStr,0)))[2]),2);
end;
end;WideChar是种数据类型,不是你说的函数,这里调用就是强制类型转化!
我是想能否根据已知的Unicode码例如"6C49",计算出它对应的GB码"BABA"
有了 "BABA",我就可以用chr(186)+chr(186)得到汉字"汉"了,但是,这里我只知道6C49这么个Unicode,除了查表法外,能否有一个算法可以把6C49算出来到BABA呢? 利用语言优势的类型转换,对我是没有用的.
我也知道这个问题在这里问不太合适,可我又不知道该到哪里问,想想高手们大概做过类似的事情,就到这里来了