DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: xieqiongxi1
今日帖子: 38
在线用户: 10
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 chinawrc (chinawrc) ★☆☆☆☆ -
普通会员
2006/9/16 11:37:11
标题:
关于编码转换的问题 浏览:1305
加入我的收藏
楼主: 比如:汉这个字的ascii可以写成"BA BA" 用unicode则是"6C 49" .我想问的的是如何在"BA BA" 和 "6C 49" 之间转换?? 最好是转换算法.
----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2006/9/16 13:31:41
1楼: procedure TForm1.Button2Click(Sender: TObject);
var
  s:  string;
  ws: WideString;
  p, q:  PByte;
begin
  s  := '汉';
  ws := s;
  p  := PByte(@s[1]);
  q  := p;
  Inc(q);
  Caption := IntToHex(q^, 2) + ' ' + IntToHex(p^, 2);
  p  := PByte(@ws[1]);
  q  := p;
  Inc(q);
  Caption := Caption + '###' + IntToHex(q^, 2) + ' ' + IntToHex(p^, 2);
end;
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 chinawrc (chinawrc) ★☆☆☆☆ -
普通会员
2006/9/16 13:46:06
2楼: 我想问的是  BA BA<==>6C 49  如何转换?  他们之间有什么算法关系?
----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2006/9/16 14:01:04
3楼: 好像没有什么算法可以确定,只能一对一吧?!
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 chinawrc (chinawrc) ★☆☆☆☆ -
普通会员
2006/9/16 14:44:12
4楼: 是这样的,我用MIDletPascal写个JAVA程序,里面需要把GB3212转换成UTF8. 可是MIDletPascal比起DELPHI来函数少的可怜,所以才想来求助.不知道能不能用码表对应的方法??
----------------------------------------------
-
作者:
男 chinawrc (chinawrc) ★☆☆☆☆ -
普通会员
2006/9/16 14:48:49
5楼: function gb2utf8($gb){
if(!trim($gb)) return $gb;
$filename="gb2312.txt";
$tmp=file($filename);
$codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6);

$utf8="";
while($gb) {
if (ord(substr($gb,0,1))>127) {
$this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb)-2);
$utf8.=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
}else{
$this=substr($gb,0,1);
$gb=substr($gb,1,strlen($gb)-1);
$utf8.=u2utf8($this);
}
}
return $utf8;
}

==========
从网上找来个.哪位帮忙翻译成Pascal
----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2006/9/16 15:17:12
6楼: 如果可以的话,就调用API实现,参考一下D6/7中的AnsiToUtf8函数源码。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS