本帖最后由 黑马刘涛 于 2012-7-17 17:32 编辑
[/quote]
[quote]Arrays类:public static String toString(byte[] a)返回指定数组内容的字符串表示形式。字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。
String类: public String(byte[] bytes,
String charsetName)
throws UnsupportedEncodingException通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。
当给定 byte 在给定字符集中无效的情况下,此构造方法的行为没有指定。如果需要对解码过程进行更多控制,则应该使用 CharsetDecoder 类。
参数:
bytes - 要解码为字符的 byte
charsetName - 受支持的 charset 的名称
以上为引用API说明:- package practice;
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.util.Arrays;
- public class EncodeDemo {
- public static void main(String[] args) throws IOException{
- String s="哈哈";
- byte[] b1=s.getBytes("GBK"); //将字符串"GBK"转化为字节存入字节数组中
- System.out.println(Arrays.toString(b1));//打印[G,B,K]
- String s1=new String(b1,"iso8859-1");// 可查阅API说明:创建一个新的字符串对象,指定编码为iso8859-1,也就是将“GBK”这个字符串按iso8859-1编码方式进行了一次编码
- System.out.println("s1="+s1);
- //对s1进行ISO8859-1编码
- byte[] b2=s1.getBytes("iso8859-1"); //"iso8859-1" /存入字节数组中
- System.out.println(Arrays.toString(b2));
- String s2=new String(b2,"gbk");//将字符串"iso8859-1"按编码方式“gbk”编码
- System.out.println("s2="+s2);
- //如果是对同一个字符串进行编码解码,最后还是能打印出源字符串,这就是编码解码的意义
- }
- }
复制代码 |