为了账号安全,请及时绑定邮箱和手机立即绑定

您好,求字符集检测C语言源代码,请问与具体的吗?

您好,求字符集检测C语言源代码,请问与具体的吗?

烙印99 2021-11-01 18:07:21
代码功能:检测用户输入的字符集是否为GB2312标准字符集。。 跪等高手忘记说了,是在unix环境下~
查看完整描述

2 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

如果是Windows系统,可以用API函数
int GetTextCharset(HDC)
返回值可能是
ANSI_CHARSET
CHINESEBIG5_CHARSET
GB2312_CHARSET
等预定义的符号值。到底可能返回哪些值,与Windows的版本以及所使用的开发环境有关。

比如,要查询Windows桌面所使用的字符集,可以这样调用:
switch ( GetTextCharset(GetWindowDC(GetDesktopWindow())))
{
case GB2312_CHARSET: printf("桌面正在使用GB2312字符集\n");break;
case CHINESEBIG5_CHARSET: printf("桌面正在使用BIG5字符集\n");break;
}

查看完整回答
反对 回复 2021-11-06
?
HUWWW

TA贡献1874条经验 获得超12个赞

1)文库一下“gb2312_gb18030_字符集”,就能下载到相应的文档,得到GB2312字符集的编码列表。
2)把这个列表存成txt文件,在程序启动的时候,读入内存数组中,排好序。
3)当需要检测一个用户输入的字符串,是否是GB2312标准字符集,则将该字符串的每2个字节(非Ascii的,即高字节不位0的),都拿去在这个GB2312数组中进行二分查找。如果都能找到,则说明用户输入字符串是GB2312的,如果有找不到的,则说明这个字符转不是GB2312的。

查看完整回答
反对 回复 2021-11-06
  • 2 回答
  • 0 关注
  • 283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信