我在做短信网关程序,Unicode码的数据如何转化成GB码?(100分)

  • 主题发起人 主题发起人 lixiaohui
  • 开始时间 开始时间
L

lixiaohui

Unregistered / Unconfirmed
GUEST, unregistred user!
MessageCoding :byte;
MessageLength :longword;
MessageContent :array[0..254] of char;
收到的消息中有上述数据,是UCS2编码,如何转化成gb码?谢谢
另外,如何得到一个GB码的字符转化成unicode码?
 
http://www.linuxforum.net/docnew/showthreaded.php?Cat=&Board=db&Number=582&page=0&view=collapsed&sb=5&o=all&fpart=
 
看看我的笔记,完全能用的sms编码解码的说明及代码,不要到处找了,就是这个!
http://www.delphibbs.com/keylife/iblog_show.asp?xid=22411
 
//
// 将中文GB2312编码转换为代码页为CP936的Unicode编码
//
function EncodeGb(var s: WideString): String;
var
i,len:Integer;
cur:Integer;
t:String;
begin
Result:='';
len:=Length(s);
i:=1;
while i<=len do
begin
cur:=ord(s);
//BCD转换
FmtStr(t,'%4.4X',[cur]);
Result:=Result+t;
inc(i);
end;
end;



function DecodeChinese(const InputStr: String): String;
var
I : Integer;
W : WideString;
begin
I := 0;
W := '';
while I < Length(InputStr) do
begin
W := W + WideChar(StrToInt('$'+Copy(InputStr, I+1, 4)));
Inc(I, 4);
end;

Result := W;
end;
//
 
后退
顶部