社区
C++ 语言
帖子详情
C++Builder中怎样实现简繁转换, 跪求高人指点!!
onepiece81
2007-01-14 09:57:21
RT.急啊,望各位高人不吝赐教,小弟在此先谢谢了.
...全文
208
9
打赏
收藏
C++Builder中怎样实现简繁转换, 跪求高人指点!!
RT.急啊,望各位高人不吝赐教,小弟在此先谢谢了.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
珍惜生命远离CPP
2007-01-17
打赏
举报
回复
参考一下这个代码吧
输入Big5字符,返回Gb简体字符
//---------------------------------------------------------------------------
//函数输入Big5字符,返回Gb简体字符
//---------------------------------------------------------------------------
AnsiString __fastcall Big2Gb(AnsiString sBig)
{
char* pszBig5=NULL; //Big5编码的字符
wchar_t* wszUnicode=NULL; //Unicode编码的字符
char* pszGbt=NULL; //Gb编码的繁体字符
char* pszGbs=NULL; //Gb编码的简体字符
AnsiString sGb; //返回的字符串
int iLen=0; //需要转换的字符数
pszBig5=sBig.c_str(); //读入需要转换的字符参数
//计算转换的字符数
iLen=MultiByteToWideChar (950, 0, pszBig5, -1, NULL,0) ;
//给wszUnicode分配内存
wszUnicode=new wchar_t[iLen+1];
//转换Big5码到Unicode码,使用了API函数MultiByteToWideChar
MultiByteToWideChar (950, 0, pszBig5, -1, wszUnicode,iLen);
//计算转换的字符数
iLen=WideCharToMultiByte (936, 0, (PWSTR) wszUnicode, -1, NULL,0, NULL, NULL) ;
//给pszGbt分配内存
pszGbt=new char[iLen+1];
//给pszGbs分配内存
pszGbs=new char[iLen+1];
//转换Unicode码到Gb码繁体,使用API函数WideCharToMultiByte
WideCharToMultiByte (936, 0, (PWSTR) wszUnicode, -1, pszGbt,iLen, NULL, NULL) ;
//转换Gb码繁体到Gb码简体,使用API函数LCMapString
LCMapString(0x0804,LCMAP_SIMPLIFIED_CHINESE, pszGbt, -1, pszGbs, iLen);
//返回Gb码简体字符
sGb=pszGbs;
//释放内存
delete [] wszUnicode;
delete [] pszGbt;
delete [] pszGbs;
return sGb;
}
2. 输入Gb字符,返回Big5字符
//---------------------------------------------------------------------------
//函数输入Gb字符,返回Big5字符
//---------------------------------------------------------------------------
AnsiString __fastcall Gb2Big(AnsiString sGb)
{
char* pszGbt=NULL; //Gb编码的繁体字符
char* pszGbs=NULL; //Gb编码的简体字符
wchar_t* wszUnicode=NULL; //Unicode编码的字符
char* pszBig5=NULL; //Big5编码的字符
AnsiString sBig5; //返回的字符串
int iLen=0; //需要转换的字符数
pszGbs=sGb.c_str(); //读入需要转换的字符参数
//计算转换的字符数
iLen=MultiByteToWideChar (936, 0, pszGbs, -1, NULL,0) ;
//给pszGbt分配内存
pszGbt=new char[iLen*2+1];
//转换Gb码简体到Gb码繁体,使用API函数LCMapString
LCMapString(0x0804,LCMAP_TRADITIONAL_CHINESE, pszGbs, -1, pszGbt, iLen*2);
//给wszUnicode分配内存
wszUnicode=new wchar_t[iLen+1];
//转换Gb码到Unicode码,使用了API函数MultiByteToWideChar
MultiByteToWideChar (936, 0, pszGbt, -1, wszUnicode,iLen);
//计算转换的字符数
iLen=WideCharToMultiByte (950, 0, (PWSTR) wszUnicode, -1, NULL,0, NULL, NULL) ;
//给pszBig5分配内存
pszBig5=new char[iLen+1];
//转换Unicode码到Big5码,使用API函数WideCharToMultiByte
WideCharToMultiByte (950, 0, (PWSTR) wszUnicode, -1, pszBig5,iLen, NULL, NULL) ;
//返回Big5码字符
sBig5=pszBig5;
//释放内存
delete [] wszUnicode;
delete [] pszGbt;
delete [] pszBig5;
return sBig5;
}
onepiece81
2007-01-17
打赏
举报
回复
能具体举例说明一下么?楼上的各位大哥们,拜谢,解决即给分,绝不食言.
onepiece81
2007-01-17
打赏
举报
回复
已给分,谢了
onepiece81
2007-01-17
打赏
举报
回复
=下给分,处理事情
onepiece81
2007-01-17
打赏
举报
回复
多谢akirya,马上给分
caocheng8230
2007-01-14
打赏
举报
回复
帮顶
珍惜生命远离CPP
2007-01-14
打赏
举报
回复
我记得是 简体->unicode->big->unicode->简体这样一个过程的。
Oversense
2007-01-14
打赏
举报
回复
简体(GB2312)->unicode->繁体(BIG5)
OOPhaisky
2007-01-14
打赏
举报
回复
up
简繁转换
单元,
实现
简繁繁简的转换
简繁转换
单元
简繁转换
单元
简繁转换
单元
简繁转换
单元
office2003
简繁转换
插件(PPT,EXCEL也能
简繁转换
了)
微软官方出品的OFFICE2003
简繁转换
插件。一次安装,全部word excel,powerpoint等都可用。
Office 2003
简繁转换
加载宏
Office 2003
简繁转换
加载宏Office 2003
简繁转换
加载宏Office 2003
简繁转换
加载宏
中
文
简繁转换
(C#)
中
文
简繁转换
(C#;也有VB.NET Code)
维基百科
中
提取的
简繁转换
代码
从维基百科
中
提取的
简繁转换
代码,非常不错
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章