| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2857 人关注过本帖
标题:delphi中把一个字符串保存到一个文本文件中。有没有什么方法以GB18030的编码 ...
只看楼主 加入收藏
lubing513
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
delphi中把一个字符串保存到一个文本文件中。有没有什么方法以GB18030的编码方式保存?
delphi中把一个字符串保存到一个文本文件中。请问有没有什么方法以GB18030的编码方式保存这个文件?

[ 本帖最后由 lubing513 于 2010-7-28 00:47 编辑 ]
搜索更多相关主题的帖子: delphi 文本文件 字符 编码 保存 
2010-07-28 00:46
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:20 
windows并没有直接提供GB18030的编码支持,不过你可以使用他支持的Unicode对应地区码的转换,来自己处理编码保存。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-07-28 15:09
lubing513
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-28
收藏
得分:0 
版主,能说得具体点吗?
2010-07-28 18:09
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
从Unicode编码到GB18030编码的映射方法如下:

U=Unicode编码-0x10000
m1=U/12600
n1=U%12600
m2=n1/1260
n2=n1%1260
m3=n2/10
n3=n2%10
第一字节b1=m1+0x90
第二字节b2=m2+0x30
第三字节b3=m3+0x81
第四字节b4=n3+0x30


如果你不能理解上面的内容,请看这篇文章:
http://forgetoneself.


[ 本帖最后由 东海一鱼 于 2010-7-29 10:30 编辑 ]

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-07-29 10:29
lubing513
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-7-28
收藏
得分:0 
好的,谢谢版主了。对了,小弟还有一个很菜的问题想请教。
buf[0]:=buf[1];
buf[1]:=buf[2];
buf[2]:=buf[3];
像这样的代码要怎么写才能又精单又快呢?
2010-07-30 18:41
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
看成整数,直接移位。岂不快哉!

 buf[0]:= '1';
 buf[1]:= '2';
 buf[2]:= '3';
 buf[3]:= '4';

 Integer(buf):= Integer(buf) shr 8;       //嘿嘿,想想为什莫是shr而不是shl
 ShowMessage('str: ' + buf[0] + buf[1]+ buf[2]);

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-07-30 22:30
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
哎 偶太菜了 看不懂
2010-10-11 20:57
快速回复:delphi中把一个字符串保存到一个文本文件中。有没有什么方法以GB18030 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012287 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved