易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++中,GB2312转Unicode

    嵌入到多个系统编程时常常出现编码问题,特别是中文,并且对于国标GB2312来说,不像UTF-8那样可以用算法直接转为unicode(传说是这么说的,我也没试过),所以GB到Unicode只能是一对一的转换。
以前碰到过GB转为Unicode的难题,在网上找到了源码,我只是修改了一下查找的代码,将查找算法改为二分查找。
   主要函数为:
unsigned int gb_uni(unsigned int gb_idx); // 传入一个汉字所对应的gb2312编码,返回该汉字的Unicode编码
   GB编码简单分析:
   比如“我”字的gb编码为0xCED2,unicode编码为0x6211,那么0x6211==gb_uni(0xCED2),在windows的文档里面,小于0x0a1,都是ansii编码,GB2312中每个汉字用双字节标识,比如“我”字,gb码为上位编码为0xFFFFFF62和下位编码为0xFFFFFF11,组合后为0x6211,所以一般分析中英文档,逐个字符判断,小于0x0a1则为ansii,大于,则为汉字的开始,需要预读取下一个字符来合成一个汉字的编码。
源代码
在这里(点击超链接即可):
在vim下
输入:set fdm=marker,查看会比较舒服
C/C++ GB2312转为Unicode的源码


相关文档:

c/c++_static变量的应用

在C语言编程中,static的一个作用是信息屏蔽!
比方说,你自己定义了一个文件 -- 该文件中有一系列的函数以及变量的声明和定义!
你希望该文件中的一些函数和变量只能被该文件中的函数使用,那么,你可以在该函数、变量的前面加上static,代表他们只能被当前文件中的函数使用!
而在C++中,用static来作为信息 ......

[C/C++]C++下基本类型所占位数和取值范围

原文:http://hi.baidu.com/magicdemon/blog/item/821b2e22d7df494cad34debd.html
C++下基本类型所占位数和取值范围:
符号属性      长度属性      基本型      所占位数      取值范围   输入符举例&n ......

B/S C/S 优缺点比较 及 适应场合

B/S C/S 优缺点比较 及 适应场合
 
 
首先来说B/S和C/S两种软件体系结构。
  B/S 是Browser/Server指浏览器和服务器端,在客户机端不用装专门的软件,只要一个浏览器即可(瘦客户端)
  C/S 是Client/Server指客户机和服务器,在客户机端必须装客户端软件及相应环境后,才能访问服务器(胖客户端)
  ......

CentOS5.4 Linux下Modbus TCP IP协议C++的一个小例子

///////////////////////////////////////////////////////////////////////////
/*
ReadCoils函数:
读继电器的状态 , 成功返回ture。
send 数据长度=12
recv 数据长度=10
unsigned short int addr 读继电器的起始地址(继电器编号-1) 。
注意:1~8个继电器,起始地址从0开始
unsigned short int len ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号