汉字内码相互转换的问题(GB <==> BIG5 )(200分)

  • 主题发起人 主题发起人 wjc
  • 开始时间 开始时间
W

wjc

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要作一个系统,用户是大陆和港澳台地区,需要同时支持GB和BIG5两种内码
我的想法是:
1、程序启动时,检查系统字符集
2、如果用户是GB的系统,一切都照旧
3、如果用户是BIG5的系统,对于要显示的汉字,首先调用一个函数,比如说
gbToBig5,将要显示的内容转换为BIG5的内码,
对于用户的输入的汉字,调用一个Big5ToGb的函数,转换为GB码,再到库中查询
问题:
1、用哪个函数可以得到系统的字符集?给个例子。
2、如何实现上述的两个函数?
哪位大侠有现成的,最好能给我一份,谢谢!
很急的说!
 
如果内码前后字节都大于0x80就是国标码如果内码前后字节存在一个大于0x80 一个大于0x40
就是big5码。
Big5、Gb转换的例子已经发给你了。
 
I have the same question,
can you give me a copy too?
following is my question in [big-5] code:

動態語言轉換,想要實現:在主菜單中增加一個Language的菜單欄,
用戶下拉后可選擇 English / Big-5 / GB2312(大陸) ,然后
界面上的所有文字就自動轉為用戶所選擇的語言。

另,附加,能否做到不依賴于操作系統的語言環境,如在 English
Windows 98 中顯示中文﹔或在台灣版Windows中顯示大陸簡體字。

--- BingJi Wang (汪炳吉)
--- BingJi@AcroPrise.com.cn
 
; 我有Gb&lt;-&gt;Big5的例子,要的话,我发给你。
 
I want a sample for GB-BIG5 , please email me : bingji@acroprise.com.cn
thank you very much!!!
 
; 不好意思,在硬盘里没找到,可能删了。是 电子书库 !
 
&gt;&gt;如果内码前后字节都大于0x80就是国标码如果内码前后字节存在一个大于0x80 一个大于0x40
&gt;&gt;就是big5码。

如果是GBK码的话,第一个字节大于0x80,而第二个字节也是从0x40开始。

转换的源码我有,但只能实现GB2312和BIG5之间的转换,GBK不行。
 
请继续或结束
 
&gt;能否做到不依賴于操作系統的語言環境,如在 English Windows 98 中顯示中文。
我的愿望很小,只想知道这个。
 
我需要内码转换的源代码:haipeng@cmmail.com
 
可以编写支持多国语言的程序,让它能够根据所运行的操作系统自动显示相应的文字。
 
我听说过这样的方法:

将字符集(gb的或者big5的)作为资源加载,这样程序启动后,
可以运行在不同的语言环境下。这个和Ie的原理差不多一样
 
陀螺:
知道具体怎么做么?是否只要装了中文字体就可以?
 
制作多国语系系统程序就可以了。可以看看Delphi例子下的Richedit目录下的工程。他可以支持多国语言,且支持动态改变语言的。
内码转换,可以到vcl.vclxx.com上去下载cvcode.pas文件
 
Who could sent me a sample !!!!
Thanks a lot !!!
baby_god@china.com
 
请继续或结束
 
请继续或结束
 
如果内码前后字节都大于0x80就是国标码如果内码前后字节存在一个大于0x80
一个大于0x40 就是big5码。
 
多人接受答案了。
 
后退
顶部