第二章:JSP引出的问题

在JSP文件中,我们会经常发现如下2个关于字符的代码:

contentType中的charset,还有就是JSP的pageEncoding。那charset与encoding怎么会有这2个名词呢?

答:charset全称是character set,中文名是字符集。

encoding全称是charset encoding,中文名称是字符集编码,简称编码。

那这2个名词之间有什么区别吗?

答:用JAVA语言来形容下吧,charset作用跟List似的,而encoding作用跟ArrayList、LinkedList似的。

UTF8与UTF16等等怎么会出现这么多?

答:一般情况下,一个charset对应一个encoding,比如我上文说到的GB2312,GB代表的就是国标即国家标准,这种就是一个charset接口,实现类也只有一个encoding。

而Unicode接口的实现类则有3个:UTF-8/UTF-16/UTF-32,这就比较麻烦了。因为Unicode当初在设计的时候就是为了统一所有的字符集,来包含各个国家不同民族的文字,后来随着时间发展,突然发现现有的编码方案不科学,而Unicode作为总接口也没必要再去创建另外一个新接口,没办法,只能去折腾实现方式了,因此才出现了上述UTF-8/UTF-16/UTF-32这几种encoding,从而打破了字符集与字符集编码一对一的惯例。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章