黑马程序员-转换流的字符编码学习日记

来源:互联网 发布:淘宝企业店铺入驻通道 编辑:程序博客网 时间:2024/05/16 03:54
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
/*-----------------------------------------------------EncodeStreamDemo .java---------------------------------------------------------------------------*/ 
import java.io.*;
/*
 * 字符流的出现是为了方便操作字符数据
 * 更重要的是加入了编码转换(编码表)
 * 通过子类转换流来完成
 *   InputStreamReader
 *   OutputStreamWriter
 * 在两个对象进行构造的时候可以加入字符集
 *
 *编码表:
 *计算机只能识别二进制数据,早期由来是电信号。
 *为了方便应用计算机,让它可以识别各个国家的文字。就将各个国家的文字用数
 *                        |----字来表示,并一一对应,行成一张表。
 *ASCII:美国标准信息交换码  用一个字节的7位可以表示                          
 *ISO8859-1: 拉丁表,欧美码表  用一个字节的8位表示。
 *
 *GB2312:中国的中文编码表                                                             - -用两个字节表示一个字符
 *GBK:中国的中文编码表升级,融合了更多的中文文字符号         - -两个字节的高位都是1,兼容ASCII
 *
 *Unicode:国际标准码,融合了多种文字。
 *                         |----所有文字都用两个字节来表示,Java语言使用的就是unicode
 *                         |----java中的字符用的就是Unicode编码
 *UTF-8:最多用三个字节来表示一个字符。                         
 * 
 */                     
public class EncodeStreamDemo {
 public static void main(String[] args)throws IOException {
  // TODO Auto-generated method stub
            //writeText();
            readText();
 }
 public static void readText()throws IOException
 {
  InputStreamReader isr 
        = new InputStreamReader(new FileInputStream("gdk.txt"),"GBK");
  char[] buf = new char[10];
  
  System.out.println(new String(buf,0,isr.read(buf)));
  isr.close();
 }
 public static void writeText()throws IOException
 {
  OutputStreamWriter osw 
        = new OutputStreamWriter(new FileOutputStream("gdk.txt",true));
  osw.write("你好啊");
  osw.close();
 }
}

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------


0 0
原创粉丝点击