|
做MTK快三个月了,具体UI部分没怎么负责,倒是网络协议解析这块有了一些经验。
下面是我在编写 MTK解析库的过程中总结的一些经验,让我们共同交流c方面的灵活技巧。
#define TSTRINGBUFLEN 128 typedef unsigned char TString[TSTRINGBUFLEN];
TString buf;
上面定义了一个字符串类型,用起来是不是很方便啊.
检查UTF编码的字符串中是否包含中文,我写了一个函数,目前看来是没有问题的 当然要检查字符串中的每一个字符了
int CheckIsGbChar(TByte8 *lpCode) { TByte8 *ch1 = NULL; TByte8 *ch2 = NULL; ch1 = lpCode; if (*ch1 >= 0x81 && *ch1 <= 0xfe) { // gb character ch2 = lpCode + 1; if (*ch2 < 0x40 || *ch2 > 0xfe) return -1; return 2; } return 1; }
返回 2 说明里面包含中文 ,返回1就是没有中文字符
如果你的url中包含中文字符怎么办 ,譬如说文件名是中文的,那么我们必须对url进行编码,因为服务器能认出编码后的url而对没有编码的url则认为是错误的url
进行编码的url函数提供如下,很好用,不过大家一定要注意不要把整个url传送进去而是把中文部分传送进去,然后在拼接成完整的url。注意用完此函数后记得释放返回值的资源
/** * @param s 需要编码的url字符串 * @param len 需要编码的url的长度 * @param new_length 编码后的url的长度 * @return char * 返回编码后的url * @note 存储编码后的url存储在一个新审请的内存中, * 用完后,调用者应该释放它 */
TByte8 * urlencode(TByte8 const *s, TInt32 len, TInt32 *new_length) { TByte8 * start = NULL; TByte8 * to = NULL; TByte8 const *from, *end; TByte8 hexchars[] = "0123456789ABCDEF"; TByte8 c; from = s; end = s + len; start = to = (TByte8 *) us_malloc(3 * len + 1); while (from < end) { c = *from++; if (c == ' ') { *to++ = '+'; } else if ((c < '0' && c != '-' && c != '.') || (c < 'A' && c > '9') || (c > 'Z' && c < 'a' && c != '_') || (c > 'z')) { to[0] = '%'; to[1] = hexchars[c >> 4]; to[2] = hexchars[c & 15]; to += 3; } else { *to++ = c; } } *to = 0; if (new_length) { *new_length = to - start; } return (TByte8 *) start; }
好了,请关注下一篇我的总结。
|
一共有 2 条评论
每天我们上网都会碰到一些有用的、值得珍藏的网页链接地址(简称:网址, link, URL),于是我们都用浏览器里的收藏夹来收藏。但是现在的电脑病毒相当的猖獗,电脑遭病毒之后,浏览器里收藏的网址几乎就是无法挽救,损失巨大!同时,现在的浏览器市场有多种多样的浏览器,在一台电脑上的浏览器里收藏了某一网址,可是到另外一台电脑上或另外一个浏览器时却又不能使用了,普拉多网页收藏夹可以帮助解决此问题。只要您注册个用户帐号,把自己喜欢的网页链接地址(简称:网址)保存在您的普拉多收藏夹里 http://www.praado.cn ( http://praado.vicp.net ) ,这样,无论您在任何一台电脑上,您都能轻松访问您的收藏夹,再厉害的病毒也无法侵害您收藏的网页链接地址。
普拉多 http://www.praado.cn ( http://praado.vicp.net )收藏夹支持多级管理和模糊搜索,大大方便了在信息泛滥时代对有用信息的有效管理。
软件测试行业的巨大缺口吸引了众多求职者的目光,除了从业者外,“圈外人”对软件测试也表示了相当的认同度和满意度。这主要是由软件测试行业的特性决定的。首先,从目前市场需求来看,严重的供需失衡局面促使我国软件测试工程师基本上处于一个地位高、待遇高的“双高”地位;其次,质量是产品的灵魂,软件测试工作的重要作用,在软件产业中任何时候都是不可替代的,因而职业生涯更长久;再次,软件测试工作包含了技术及管理的各个方面,对年龄的要求也没有一定限制。因此,在竞争越来越激烈的IT职场中,软件测试工程师的工作相对来说更稳定、更有发展前景。
尽管期望加入软件测试行业者数量众多,然而能够达到企业需求的求职者数量寥寥。无论是有经验者还是无经验者,由于对软件测试缺乏系统的了解和足够的职业技能,均成为阻碍他们顺利进入的门槛。
机构选择要仔细
这些培训机构推出的培训各有特点,不能一概而论好坏,但如果要选择适合自己的培训,最好从以下几个角度来考虑。
o选择培训机构,最首要的是选择讲师,说实在的,即使是完全一样的教材和讲义,不同的讲师讲出来,效果是完全不同的,因此非常有必要和你要加入班的讲师面对面谈一谈,看对方的资历和授课水平。如果对方只会夸夸其谈,没什么实际内容,或是只会照本宣科,基本上就不用考虑了。
o选择培训机构要认准适合自己的课程。虽然所有的培训机构都会宣称自己的课程是最合理的,但是否真正适合自己是要打个问号的。一般的培训机构发布的公开材料上都不会有非常详细的课程大纲,因此一定要到培训机构找到详细的大纲看看。如果对方不能或是不愿提供详细的大纲,那就有问题了,因为这种大纲是培训机构必然会有的。
得到详细的大纲后要关注几点:第一,课程中是否包括了完整的实践项目内容?如果没有一个完整的实践项目,或是只有一些零散的所谓的实际操作,这种课程的合理性就值得怀疑。
其次,课程中是否所有的内容都真正贴近测试?有些培训机构的课程中夹杂了大量的开发课程,而且还美其名曰“增加就业几率和择业范围”,实际上,如果培训机构对自己的测试课程培训出来的学员能否找到与测试相关的工作都心存疑虑,让人怎么相信?
第三,课程是否实用?如果纯粹的理论知识占据了大量的课程时间,这种课程一般就是所谓“空中楼阁”式的课程。
o选择就业培训一定要选择行业内的专业企业,每个领域都会有不同程度的屏蔽,不可能在每个知识领域都是强者。
更多详情请点击http://www.cy-btesting.com/hyxx/newsmain.asp?id=1542在线咨询工具咨询或致电:010-65071608