解析解析iPhone wap浏览器之界面架构浏览器之界面架构
iPhone由苹果公司(Apple, Inc.)首席执行官史蒂夫·乔布斯在2007年1月9日举行的Macworld宣布推出,2007
年6月29日在美国上市,将创新的移动电话、可触摸宽屏iPod以及具有桌面级电子邮件、网页浏览、搜索和地图
功能的突破性因特网通信设备这三种产品完美地融为一体。iPhone引入了基于大型多触点显示屏和性新软件的
全新用户界面,让用户用手指即可控制iPhone。iPhone还开创了移动设备软件功能的新纪元,重新定义了移动
电话的功能。 BSD是UNIX系统中通用的网络接口,它不仅支持各种不同的网络类型,而且也是一种内部进
程之间的通信机制。两个通信进程都用一个套接口来描述
iPhone由苹果公司(Apple, Inc.)首席执行官史蒂夫·乔布斯在2007年1月9日举行的Macworld宣布推出,2007年6月29日
在美国上市,将创新的移动电话、可触摸宽屏iPod以及具有桌面级电子邮件、网页浏览、搜索和地图功能的突破性因特网通信
设备这三种产品完美地融为一体。iPhone引入了基于大型多触点显示屏和性新软件的全新用户界面,让用户用手指即可控制
iPhone。iPhone还开创了移动设备软件功能的新纪元,重新定义了移动电话的功能。
BSD是UNIX系统中通用的网络接口,它不仅支持各种不同的网络类型,而且也是一种内部进程之间的通信机制。两个通
信进程都用一个套接口来描述通信链路的两端。套接口可以认为是一种特殊的管道,但和管道不同的是,套接口对于可以容纳
的数据的大小没有限制。Linux支持多种类型的套接口,也叫做套接口寻址族,这是因为每种类型的套接口都有自己的寻址方
法。
Linux支持以下的套接口类型:支持以下的套接口类型:
UNIX UNIX域套接口
INET Internet地址族TCP/IP协议支持通信。
AX25 Amateur radio X25
IPX Novell IPX
APPLE TALK Appletalk DDP
X25 X25
这些类型的套接口代表各种不同的连接服务。
在笔者的上篇文章《自己动手写iPhone wap浏览器之BSD Socket引擎篇》中已经成功解析出来了wml页面中的tag,如果
读者仔细的话可能会看到里面中文的tag显示为乱码,这是因为在iPhone上默认的中文编码格式是UTF-8,而通过BSD Socket
请求过来的是ASCII码,所以需要通过转换为UTF-8格式,如下:
[[NSString alloc] initWithBytes:aChild-》Value() length:strlen(aChild-》Value())
encoding:NSUTF8StringEncoding]
经过转换编码之后,在屏幕上显示的打印内容如下: 经过转换编码之后,在屏幕上显示的打印内容如下:
parse xml succeed
aChild value = STATUS OK
aChild value = card
TiXmlNode::ELEMENT name = title, attr value = 百度一下,你就知道
aChild value = p
aChild value = img
TiXmlNode::ELEMENT name = src, attr value = /r/wise/wapsearchindex/logoindexsmall.gif
TiXmlNode::ELEMENT name = alt, attr value = 百度
aChild value = br
aChild value = input
TiXmlNode::ELEMENT name = name, attr value = word
TiXmlNode::ELEMENT name = emptyok, attr value = true
aChild value = br
aChild value = anchor