社区
数据库相关
帖子详情
繁体操作系统简体转换成繁体
tsp3ng
2008-03-22 10:40:27
如题,我在简体操作系统下,用函数GBtoBIG5(网上下载的)把简体转换成繁体,在繁体操作系统下显示正常,可是我在繁体操作系统下,使用这个函数,转出来的结果,显示的却是乱码!请问在繁体操作系统下有什么办法可以将简体转换成繁体啊?
最好有完整的函数和码表,因为我已经来不及研究了。若能解决,100分全部奉上,不够还可以再加200分。快救救我啊!
...全文
393
5
打赏
收藏
繁体操作系统简体转换成繁体
如题,我在简体操作系统下,用函数GBtoBIG5(网上下载的)把简体转换成繁体,在繁体操作系统下显示正常,可是我在繁体操作系统下,使用这个函数,转出来的结果,显示的却是乱码!请问在繁体操作系统下有什么办法可以将简体转换成繁体啊? 最好有完整的函数和码表,因为我已经来不及研究了。若能解决,100分全部奉上,不够还可以再加200分。快救救我啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
UltraBejing
2008-05-01
打赏
举报
回复
不会,帮顶
tsp3ng
2008-03-24
打赏
举报
回复
是这样的,在繁体下读取第二代身份证,然后进行调用此函数就不行。
tsp3ng
2008-03-22
打赏
举报
回复
不行
galant2008
2008-03-22
打赏
举报
回复
你用以下這幾個函數試試吧
function Big52GB(BIG5Str: string): AnsiString;
{进行big5转GB内码}
var
Len: Integer;
pBIG5Char: PChar;
pGBCHSChar: PChar;
pGBCHTChar: PChar;
pUniCodeChar: PWideChar;
begin
//String -> PChar
pBIG5Char := PChar(BIG5Str);
Len := MultiByteToWideChar(950, 0, pBIG5Char, -1, nil, 0);
GetMem(pUniCodeChar, Len * 2);
ZeroMemory(pUniCodeChar, Len * 2);
//Big5 -> UniCode
MultiByteToWideChar(950, 0, pBIG5Char, -1, pUniCodeChar, Len);
Len := WideCharToMultiByte(936, 0, pUniCodeChar, -1, nil, 0, nil, nil);
GetMem(pGBCHTChar, Len * 2);
GetMem(pGBCHSChar, Len * 2);
ZeroMemory(pGBCHTChar, Len * 2);
ZeroMemory(pGBCHSChar, Len * 2);
//UniCode->GB CHT
WideCharToMultiByte(936, 0, pUniCodeChar, -1, pGBCHTChar, Len, nil, nil);
//GB CHT -> GB CHS
LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, Len);
Result := string(pGBCHSChar);
FreeMem(pGBCHTChar);
FreeMem(pGBCHSChar);
FreeMem(pUniCodeChar);
end;
function GBChs2Cht(GBStr: string): AnsiString;
{进行GBK简体转繁体}
var
Len: Integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
begin
pGBCHSChar := PChar(GBStr);
Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, nil, 0);
GetMem(pGBCHTChar, Len * 2 + 1);
ZeroMemory(pGBCHTChar, Len * 2 + 1);
//GB CHS -> GB CHT
LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2);
Result := string(pGBCHTChar);
FreeMem(pGBCHTChar);
//FreeMem(pGBCHSChar);
end;
function GB2Big5(GBStr: string): AnsiString;
{进行GB转BIG5内码}
var
Len: Integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
pUniCodeChar: PWideChar;
pBIG5Char: PChar;
begin
pGBCHSChar := PChar(GBStr);
Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, nil, 0);
GetMem(pGBCHTChar, Len * 2 + 1);
ZeroMemory(pGBCHTChar, Len * 2 + 1);
//GB CHS -> GB CHT
LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2);
GetMem(pUniCodeChar, Len * 2);
ZeroMemory(pUniCodeChar, Len * 2);
//GB CHT -> UniCode
MultiByteToWideChar(936, 0, pGBCHTChar, -1, pUniCodeChar, Len * 2);
Len := WideCharToMultiByte(950, 0, pUniCodeChar, -1, nil, 0, nil, nil);
GetMem(pBIG5Char, Len);
ZeroMemory(pBIG5Char, Len);
//UniCode -> Big5
WideCharToMultiByte(950, 0, pUniCodeChar, -1, pBIG5Char, Len, nil, nil);
Result := string(pBIG5Char);
FreeMem(pBIG5Char);
FreeMem(pGBCHTChar);
FreeMem(pUniCodeChar);
end;
function GBCht2Chs(GBStr: string): AnsiString;
{进行GBK繁体转简体}
var
Len: Integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
begin
pGBCHTChar := PChar(GBStr);
Len := MultiByteToWideChar(936, 0, pGBCHTChar, -1, nil, 0);
GetMem(pGBCHSChar, Len * 2 + 1);
ZeroMemory(pGBCHSChar, Len * 2 + 1);
//GB CHS -> GB CHT
LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, Len * 2);
Result := string(pGBChsChar);
//FreeMem(pGBCHTChar);
FreeMem(pGBCHSChar);
end;
function fonttype(str: string): string;
begin
if IsSysGB2312 = true then
Result := GBCht2Chs(str)
else
Result := GB2Big5(str);
end;
function Big5GB(str: string): string;
begin
if IsSysGB2312 = true then
Result := GBChs2Cht(Big52GB(str))
else
Result := str;
end;
火星牛
2008-03-22
打赏
举报
回复
函数应该没错,你传入的字串有问题。
Delphi 实现
繁体
系统下
简体
字的显示和转换
关键字 : Delphi
繁体
简体
转换 cvcode 作者: Bambuz Email : bambuz@126.com 由于汉字存在
繁体
和
简体
的差别, 导致在进行数据处理时需要进行相互转换, 本文即结合自身多次实践,介绍一下Delphi 实现
繁体
系统下
简体
字的显示和转换的方法 。
繁体
中文与
简体
中文转换器
适用于在
简体
中文
操作系统
中使用
繁体
字时出现乱码的情况,可以将乱码的
繁体
字串转换为正常的
简体
中文字串。
C#用程序
简体
转
繁体
C#用程序
简体
转
繁体
两岸通简
繁体
转换工具
同时在简
繁体
操作系统
下开发经常遇到简
繁体
转换的问题,下载过许多的工具,但就是感觉不好用,转换不完全,而且在
繁体
下不好使用等。后来发现GB2BIG小巧,而且转换非常的完整。注意:不支待unicode文件
VC 中文
简体
繁体
字符转换程序.rar
VC 中文
简体
繁体
字符转换程序,简繁字体互转,可载入外部文本,并转换其中的文字为
简体
或
繁体
。通过点击“查看”按钮,可查看转换后的结果。程序操作界面如截图所示。
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章