既然想要让它(编码)不在烦我,就必须先了解它.
了解所谓的编码
什么是Unicode编码?
概述: 能包含所有文字符号的统一码字符集.
相关说明:
1. 最早计算机设计时采用8个比特(bit)作为一个字节(byte),因此一个字节能表示的最大的整数是255(0~255,共256个).
2. 0~255届时被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII
3. 对可以用ASCII表示的字符使用Unicode并不高效,且占用大一倍的空间,因此出现了中间格式的字符集,他们被称为通用转换格式.(即UTF)
utf-8编码规则如下:
1. 单字节的字符,字节的第一位设为0,对于英语文本,UTF-8码只占用一个字节,和ASCII码完全相同;
2. n个字节的字符(n>1),第一个字节的前n位设为1,第n+1位设为0,后面字节的前两位都设为10,这n个字节的其余空位填充该字符unicode码,高位用0补足。
这样就形成了如下的UTF-8标记位:
0xxxxxxx
110xxxxx 10xxxxxx
1110xxxx 10xxxxxx 10xxxxxx
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
与编码有关的还有进制需要了解
二进制就是计算机的语言.平常所使用的数字都是十进制.此外还有其他的进制,那么进制之间如何转换呢?
① 凑数法
② 短除法
二级制转十六进制方法
要记住A~F=10~15只需要将二进制从右向左每4位一个单元分隔,不够的前边补零,用四位数的二级制数来代表一个16进制.
jsp头部编码设置
jsp页面顶部大多有此设置:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
pageEncoding="utf-8"
此设置是告诉JVM这个jsp本身采用utf-8编码,如果不设置JVM默认使用iso8859-1.
contentType中charset=utf-8则是页面内容显示编码.
注意: get请求编码需要在tomcat中进行设置.