字符到字节:编码
字节到字符:解码
一个字节:8个bit
一个字符:2个字节(具体看字符集)
客户端与服务器端传输数据:默认iso8859-1
客户端将数据按照iso8859-1字符集,将字符进行编码,成为字节
按照http协议将数据传输到服务器端,
服务器端按照iso8859-1字符集对接收的字节进行解码,成为字符
javase里的String类的byte[]getBytes(String charsetName) throws UnsupportedEncodingException方法,就是将字符串按照
参数charsetName,对字符串进行编码为字节数组。
String的构造器方法:new String(byte[] bytes, String charsetName),会对bytes字节数组,按照参数charsetName进行解码为字符串,然后显示。

比如:现在有字符串A= "中国你好",是iso8859-1编码的,因为iso8859-1不支持中文,所以按照iso8859-1解码成字符后肯定是乱码,我们想要按照utf-8
字符集进行显示字符串A,应该怎么搞?
方法很简单,首先用iso8859-1对字符串A编码为字节数组,然后按照utf-8进行对字节数组进行解码为字符串B,在tuf-8的语言环境下,字符串B就会显示为 中国你好。
用java api实现的话,

String A= "中国";
byte[] a= A.getBytes("iso8859-1");
String B= new String(a,"utf-8");  
System.out.print(B);
posted on 2017-05-30 10:21  WesTward  阅读(1198)  评论(0编辑  收藏  举报