黑马程序员:Java基础总结----编码&解码流

来源:互联网 发布:什么阅读软件书最全 编辑:程序博客网 时间:2024/06/17 02:24
黑马程序员:Java基础总结



编码&解码流

 ASP.Net+Android+IO开发.Net培训、期待与您交流!





编码:字符串变成字节数组。

解码:字节数组变成字符串。


String-->byte[];  str.getBytes(charsetName);

byte[] -->String: new String(byte[],charsetName);


byte[]getBytes(String charsetName)
          使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。String(byte[] bytes, String charsetName)
          通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String
UnsupportedEncodingException - 如果指定的字符集不受支持
            String s = "万琪";

             byte[] b1 = s.getBytes("GBK" );
            System. out.println(Arrays.toString(b1));
            
            String s1 = new String(b1,"utf-8" );
            System. out.println("s1=" +s1);

            
             //对s1进行iso8859-1编码。
             byte[] b2 = s1.getBytes("utf-8" );
            System. out.println(Arrays.toString(b2));

            String s2 = new String(b2,"gbk" );
            System. out.println("s2=" +s2);

InputStreamReader(InputStream in, String charsetName)
          创建使用指定字符集的 InputStreamReader。
OutputStreamWriter(OutputStream out, String charsetName)
          创建使用指定字符集的 OutputStreamWriter。

       public static void readText()throws IOException
      {
            InputStreamReader isr = new InputStreamReader(new FileInputStream("utf.txt" ),"gbk" );

             char[] buf = new char[10];
             int len = isr.read(buf);

            String str = new String(buf,0,len);

            System. out.println(str);

            isr.close();
      }
       public static void writeText()throws IOException
      {
            OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("utf.txt" ),"UTF-8" );

            osw.write( "你好");

            osw.close();
      }







 ASP.Net+Android+IO开发.Net培训、期待与您交流!

原创粉丝点击