1、位:
数据存储的最小单位。每个二进制数字0或者1就是1个位;
2、字节:
8个位构成一个字节;即:1 byte (字节)= 8 bit(位);
1 KB = 1024 B(字节) 1 MB = 1024 KB; (2^10 B)
1 GB = 1024 MB; (2^20 B) 1 TB = 1024 GB; (2^30 B)
3、字符:
a、A、中、+、*、の......均表示一个字符;
一般 utf-8 编码下,一个汉字 字符 占用 3 个 字节;
一般 gbk 编码下,一个汉字 字符 占用 2 个 字节;
4、字符集:
即各种各个字符的集合,也就是说哪些汉字,字母(A、b、c)和符号(空格、引号..)会被收入标准中;
5、编码:
utf-8 jbk
字节流和字符流比较
字节流 字符流
缓冲区 有 无
类型 InputStream,OutputStream Reader,writer
处理 二进制数据 文本数据
对象 序列化 反序列化
关联 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联。
字节流和字符流转化
01.//创建字节流
02.FileOutputStream fos = new FileOutputStream(new File("F:\\testSource\\newFile2.txt"));
03.//转换流包装输出流(将字节流转换成字符流)
04.OutputStreamWriter osw = new OutputStreamWriter(fos);
05.//向流中写入字符
06.osw.write("this ");
07.osw.write("is ");
08.osw.write("OutputStreamWriter");
09.//将流刷入文件
10.osw.flush();
11.//流关闭
12.fos.close();
字符流不能被转换成字节流
字节流和字符流扩展
文件,数组,管道,缓存,对象,字符串,