教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 JSP页面编码问题分析

JSP页面编码问题分析

发布时间:2018-09-07   编辑:jiaochengji.com
教程集为您提供JSP页面编码问题分析 等资源,欢迎您收藏本站,我们将为您提供最新的JSP页面编码问题分析 资源

字符处理函数也要分别检查每一字节,以分辨字符边界。这就降低了处理速度,并需要复杂、易错的代码。
附:相关编码方式及关系
unicode:

unicode.org制定的编码机制, 要将全世界常用文字都函括进去.
在1.0中是16位编码, 由u 0000到u ffff. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16位作为基本位平面, 另外增加了16个位平面, 相当于20位编码, 编码范围0到0x10ffff.

ucs:

iso制定的iso10646标准所定义的 universal character set, 采用4byte编码.

unicode与ucs的关系:

iso与unicode.org是两个不同的组织, 因此最初制定了不同的标准; 但自从unicode2.0开始, unicode采用了与iso 10646-1相同的字库和字码, iso也承诺iso10646将不会给超出0x10ffff的ucs-4编码赋值, 使得两者保持一致.

ucs的编码方式:

ucs-2, 与unicode的2byte编码基本一样.
ucs-4, 4byte编码, 目前是在ucs-2前加上2个全零的byte.

utf: unicode/ucs transformation format
utf-8, 8bit编码, ascii不作变换, 其他字符做变长编码, 每个字符1-3 byte. 通常作为外码. 有以下优点:
* 与cpu字节顺序无关, 可以在不同平台之间交流
* 容错能力高, 任何一个字节损坏后, 最多只会导致一个编码码位损失, 不会链锁错误(如gb码错一个字节就会整行乱码)
utf-16, 16bit编码, 是变长码, 大致相当于20位编码, 值在0到0x10ffff之间, 基本上就是unicode编码的实现. 它是变长码, 与cpu字序有关, 但因为最省空间, 常作为网络传输的外码.
utf-16是unicode的preferred encoding.
utf-32, 仅使用了unicode范围(0到0x10ffff)的32位编码, 相当于ucs-4的子集.

utf与unicode的关系:
unicode是一个字符集, 可以看作为内码.
而utf是一种编码方式, 它的出现是因为unicode不适宜在某些场合直接传输和处理. utf-16直接就是unicode编码, 没有变换, 但它包含了0x00在编码内, 头256字节码的第一个byte都是0x00, 在操作系统(c语言)中有特殊意义, 会引起问题. 采用utf-8编码对unicode的直接编码作些变换可以避免这问题, 并带来一些优点.

您可能感兴趣的文章:
JSP常见问题
php在jsp里面使用的么
php和jsp之间有哪些区别
JSP开发入门(2)-JSP语法的基本原理
js未结束的字符串常量异常解决方法
php程序员面试题及答案(基础理论型)
JSP执行2次ACTION的问题的解决方法
jsp常见问题二
php,jsp,asp的区别是什么?
servlet与jsp基础教程(1)-Servlet和JSP概述

[关闭]
~ ~