第二章: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,從而打破了字符集與字符集編碼一對一的慣例。

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