答案:wml语言的基本知识
上一节我们介绍了wml程序的基本结构,接下来我们介绍wml语言的基本知识,主要包括wml的字符集、变量、数据类型及wml程序的基本组成部分等。
5.3.1 wml的字符集及编码
wml使用xml的字符集,即通用字符集iso/iec-10646,也即统一字符编码标准unicode 2.0。同时,wml还支持其他系列的字符集子集,例如utf-8、iso-8859-1或ucs-2等。其中:
utf-8是指通用字符集ucs(universal character set)的转换格式8(transformation format 8),主要用作传输国际字符集的转换编码。utf-8采用了ucs字符的8位编码,提供了十分安全的编码格式,可以有效避免数据传输过程中的易做图、截取及非法解密。同时,utf-8与7位ascii码完全兼容,不会影响此类编码实现的程序;它的编码规则十分严格,能够有效避免同步传输错误,而且还为支持其他字符集提供了足够的空间。
iso-8859-1字符集是国际标准化组织iso(international standardization organization)制定的ascii字符集的扩展集,能够表示所有西欧语言的字符。与 iso latin-1一样,iso-8859-1与windows环境中普遍使用的美国国家标准协会ansi(american national standards institute)的字符集极为类似,绝大多数情况下无需区分。在不特别指明的情况下,http协议均使用iso latin-1字符集。因此,为了在wml页面中表示非ascii(non-ascii)字符,开发人员需要使用相应的iso latin-1编码的字符。
ucs-2是iso 10646标准中定义的通用多8位编码字符集(universal multiple-octet coded character set)的2字节(即16位)编码标准,其字符编码值与unicode字符的标准编码值相等。
wml文档可以采用html 4.0规范所定义的任何字符编码标准进行编码处理。一般说来,wml文档的字符编码时需要转换为另外的编码格式,以与wap用户的手机浏览器所用字符标准相适应,否则,手机浏览器就无法显示wml页面中的字符。然而,编码转换时可能会丢失一些字符信息,所以,如果在用户端进行wml文档的编码转换,那么就可能导致某些结果信息丢失而不能被用户所浏览。因此,如有必要,我们应当尽量在wml页面传送到用户浏览器之前完成编码转换。
为了解决这一问题,一方面,我们需要为web服务器补充定义wml的数据类型,以让服务器可以准确传输这些数据,另一方面,我们需要制定编码转换的原则。
上一章我们曾经讲过,设置web服务器时也增加wml的数据类型,即“内容类型(content-type)”,它是通过对web服务器的mime设置进行配置的。我们补充定义的wml及wmlscript数据类型共有8种,其中前4种为必选,后4种可根据需要选用:
wml:text/vnd.wap.wml
wmlc:application/vnd.wap.wmlc(经过编码wml的数据类型)
wmls:text/vnd.wap.wmlscript
wbmp:image/vnd.wap.wbmp (bmp图像)
wmlsc:application/vnd.wap.wmlscriptc
wmlscript:text/vnd.wap.wmlscript
ws:text/vnd.wap.wmlscript
wsc:application/vnd.wap.wmlscriptc
上一个:WML程序的基本结构
下一个:WML字符使用基本规则