| 作 者: | sequh (夏克) |
在处理套打程序时用到TextOut,但TextOut无法自动换行,只好动手写代码,可是处理到汉字部分时卡住了,搜索网上判断汉字的帖子,都语焉不详,经过一下午的研究,终于整理出一个简单的教程。
其实判断汉字的代码很简单,简单到只有一行就可以了,但不理解汉字编码的基础,这一行代码却万万无法理解。
常用的字符编码有以下三种:
1、ASCII 只支持英文,全部为8位
2、DBCS 支持英文和中文,但中文需要两个字节(16位)
3、UNICODE 支持英文和中文,英文和中文都需要两个字节
ASCII是DOS时代的,无法支持中文。DBCS是Win9x支持的字符集。UNICODE是win2k和xp支持的字符集。
而汉字的编码目前有GB2312-1980和GB18030-2000,GB2312就是DBCS类型的汉字编码,GB18030就是UNICODE的汉字编码,当然GB18030兼容GB2312,也就是说GB18030也支持DBCS的字符处理方式。虽然GB18030是2000年后强制执行的国家标准,但目前使用最多的还是GB2312编码,而且GB2312也足够处理你所用到的汉字了。还有GBK编码是GB2312的增强版。
这里我仅支持GB2312。由于GB2312是中国大陆制定的标准,所以

本文介绍了在C语言中处理汉字编码的方法,特别是GB2312编码。内容包括ASCII、DBCS、UNICODE三种字符编码的区别,以及如何判断和处理GB2312编码的汉字,同时提供了一个简单的测试程序示例。
最低0.47元/天 解锁文章
4120

被折叠的 条评论
为什么被折叠?



