社区
工具平台和程序库
帖子详情
谁可以提供一个Unicode到GB2312的算法,高分酬谢!
xiazhihan
2004-12-21 03:32:14
谁可以提供一个Unicode到GB2312的算法,需要C代码,我自己最汉字处理是一窍不通,只好求助个为了
...全文
244
13
打赏
收藏
谁可以提供一个Unicode到GB2312的算法,高分酬谢!
谁可以提供一个Unicode到GB2312的算法,需要C代码,我自己最汉字处理是一窍不通,只好求助个为了
复制链接
扫一扫
分享
转发到动态
举报
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;
}
=============================================
对照表太大,就不贴了
unicode
与
GB2312
的相互转换(js)
上回说到,我们用C语言输出了一张
GB2312
的全部字符表……同时也说,有了这个,我们就能实现使用js进行
unicode
和
GB2312
之间的转码了……再加上前回(其实是几年之前)说到,用js没有内置函数实现这两者的转码,如果用到,一般都是借助于vbs……这使得我的BF解释器(BrainFuck解释器)只能局限在IE内核的浏览器上…… 首先要明确一点,为什么我的BF解释器需要用GB编码?其实说起来是
UTF-8,
Unicode
,
GB2312
编码转换(C语言)
UTF-8,
Unicode
,
GB2312
编码转换(C语言) 最近在做MQTT客户端的时候,遇到需要将输入的
GB2312
中文转换为UTF8的问题,这边做
一个
整理。 UTF-8转
GB2312
/*! * \brief
Gb2312
至UTF8 转换函数 * * \details
Gb2312
->
Unicode
-> UTF8 * * \param const ch...
浅谈
unicode
和
gb2312
之间的转换
浅谈
unicode
和
gb2312
之间的转换 我先说,这两个是没有线性的转换关系,不能通过程序加加减减弄出来,只能硬性的对应,今天看了一天,终于知道了,哎。。。 1.
Unicode
概念
Unicode
是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。
Unicode
用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个
GB2312
,
Unicode
互转
GB2312
To
Unicode
///////////////////////////////////////////////////////////////////// wchar_t* CCommonHelper::
GB2312
To
Unicode
(const char* szGBString) { UINT nCodePage = 936; //
GB2312
int nLength=MultiByteToWi...
unicode
编码转
gb2312
编码并显示中文(c&java)
unicode
编码转
gb2312
编码并显示中文(c&java)
unicode
编码与
gb2312
编码没有线性关系,只能通过使用编码表的方式查找。 C语言 编码表中,前半部分是
gb2312
编码,后部才是
unicode
编码。在程序中我们要用值来寻找键。 C语言的思路是,把两个对应的编码表作为头文件引入到程序中。可以让我们能够,很好的使用它。在使用之前,我们需要把编码表进行处理。让
unicode
编码按顺序排列。 文字部分,我们不需要存储,当我们找出
gb2312
编码之后。只用把高低两个字节的
工具平台和程序库
24,860
社区成员
27,333
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章