当前位置:学会吧培训频道电脑知识学习网页制作移动WAP开发WAP协议研究笔记--wbxml2代码导读» 正文

WAP协议研究笔记--wbxml2代码导读

[08-08 00:46:12]   来源:http://www.xuehuiba.com  移动WAP开发   阅读:8260
概要:虽然无论是解析WML还是WBXML,其算法都不是太难。但其工作量可不小的,特别是要花不少时间去阅读相关规范,漏掉一点都可能会造成不小的麻烦。幸好sourceforge上已经有一个叫做wbxml2的项目,它实现了WML和WBXML的解析以及两者之间的转换功能。下面我们介绍一下wbxml2-0.9.2的代码: 1. wbxml_base64.c/wbxml_base64.h base64编码算法,wbxml中用来编/解码Digital Rights Management(DRM)的KeyValue。2. wbxml_buffers.c/wbxml_buffers.h buffer管理算法,通常解析器都会实现一个buffer管理算法,一方面有效利用内存,避免内存碎片。另一方面使用也比较方便。3. wbxml_charset.c/wbxml_charset.h 字符集转换函数,里面调用libc的iconv系列函数实现。4. wbxml_conv.c/wbxml_con
WAP协议研究笔记--wbxml2代码导读,标签:移动WAP开发教程,wap网站开发,http://www.xuehuiba.com
虽然无论是解析WML还是WBXML,其算法都不是太难。但其工作量可不小的,特别是要花不少时间去阅读相关规范,漏掉一点都可能会造成不小的麻烦。幸好sourceforge上已经有一个叫做wbxml2的项目,它实现了WML和WBXML的解析以及两者之间的转换功能。下面我们介绍一下wbxml2-0.9.2的代码:

 

1.       wbxml_base64.c/wbxml_base64.h base64编码算法,wbxml中用来编/解码Digital Rights Management(DRM)的KeyValue。

2.       wbxml_buffers.c/wbxml_buffers.h buffer管理算法,通常解析器都会实现一个buffer管理算法,一方面有效利用内存,避免内存碎片。另一方面使用也比较方便。

3.       wbxml_charset.c/wbxml_charset.h 字符集转换函数,里面调用libc的iconv系列函数实现。

4.       wbxml_conv.c/wbxml_conv.h 实现了两个函数,用来在WML和WBXML之间转换。

5.       wbxml_elt.c/wbxml_elt.h 对TAG的抽象,实现了一些常用的函数。

6.       wbxml_encoder.c/wbxml_encoder.h 对语法树进行编码,即把语法树转换成WBXML语言。

7.       wbxml_errors.c/wbxml_errors.h 错误信息,主要是WML/WBXML的语法错误。

8.       wbxml.h 总的头文件。

9.       wbxml_handlers.h SAX解析器的回调函数的原型定义。

10.    wbxml_lists.c/wbxml_lists.h 一个简单的链表实现。

11.    wbxml_log.c/wbxml_log.h log函数,用来打印一些调试信息。

12.    wbxml_mem.c/wbxml_mem.h 对内存分配/释放函数的封装,主要是用来查内存泄漏。

13.    wbxml_parser.c/wbxml_parser.h 这是WBXML的解析器,采用类SAX的方式解析。

14.    wbxml_tables.c/wbxml_tables.h 字符串和其编码的对应关系表,在编/解码时需要。

上一页  [1] [2] [3]  下一页


Tag:移动WAP开发移动WAP开发教程,wap网站开发电脑知识学习 - 网页制作 - 移动WAP开发
《WAP协议研究笔记--wbxml2代码导读》相关文章
Copyright 学会吧 All Right Reserved.
在线学习社区!--学会吧
1 2 3 4 5 6 7 7 8 9 10 11 12 13