谁可以提供一个Unicode到GB2312的算法,高分酬谢!

xiazhihan 2004-12-21 03:32:14
谁可以提供一个Unicode到GB2312的算法,需要C代码,我自己最汉字处理是一窍不通,只好求助个为了
...全文
244 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiazhihan 2004-12-28
  • 打赏
  • 举报
回复
eightbao 2004-12-28
  • 打赏
  • 举报
回复
GB2312是字符集,Unicode是字符表示规则,两者明显不是可以转化的东西嘛。
要说把GB2312转成UTF-8,或者Unicode转成ANSI还可以。。。
不能理解楼上的
xuelong_zl 2004-12-28
  • 打赏
  • 举报
回复
mark
xiazhihan 2004-12-28
  • 打赏
  • 举报
回复
up
xiazhihan 2004-12-27
  • 打赏
  • 举报
回复
xiaganzhuang@sina.com 谢谢
bill_li 2004-12-23
  • 打赏
  • 举报
回复
up
xiazhihan 2004-12-23
  • 打赏
  • 举报
回复
up
kaniggia 2004-12-23
  • 打赏
  • 举报
回复
留个油箱我发给你unicode2gb2312的映射表.
xiazhihan 2004-12-23
  • 打赏
  • 举报
回复
up
xiazhihan 2004-12-21
  • 打赏
  • 举报
回复
哦,对了,对照表在那里可以下载?
xiazhihan 2004-12-21
  • 打赏
  • 举报
回复
老大,我对汉字处理可是一窍不通啊
icansaymyabc 2004-12-21
  • 打赏
  • 举报
回复
只能查表。
写一个查表的程序很容易的嘛
JerrySabrina 2004-12-21
  • 打赏
  • 举报
回复
找别人的,希望有用
=====================================
int cvt_Unicode2GB(USGC *strfrom, USGC *strto)
/*
将 UNICODE 码字符串转换为 GB 码字符串,返回转换的汉字数

M.L.Y 2002.4
*/
{
int i, j, k, n, conv;
USGI w;
USGL code_val;
int stat = 0; /* 0: ASCII, 1: #XX, 2: hanzi */

for(i = 0, j = 0, n = 0; ; )
{
conv = NO;
if(strfrom[i] == '#' && strfrom[i+1] >= '0' && strfrom[i+1] <= '9')
{
code_val = 0L;
for(k = 1; ; k++)
{
if(strfrom[i+k] >= '0' && strfrom[i+k] <= '9')
code_val = code_val * 10 + strfrom[i+k] - '0';
else break;
}
if(k <= 6 && code_val <= 0xFFFF && code_val >= 128)
{
w = Word_Unicode2GBcode(code_val);
if(w > 0)
{
conv = YES;
if(stat != 2) strto[j++] = '\'';
stat = 2;
strto[j++] = (w & 0xFF00) >> 8;
strto[j++] = w & 0x00FF;
n++;
i = i + k;
}
}
}
if(conv != YES)
{
if(stat == 2)
{
stat = 0;
strto[j++] = '\'';
}
strto[j++] = strfrom[i];
if(strfrom[i] == NUL) break;
i++;
}
}
for(i = 0, j = 0, k = 0; ; )
{
if(strto[i] == '\'' && strto[i+1] == '\'')
i++; /* 去掉连续的两个单引号 */
else strto[j++] = strto[i];
if(strto[i] == NUL) break;
i++;
}
return n;
}
=============================================
对照表太大,就不贴了

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧