zoukankan      html  css  js  c++  java
  • 字符流

    1.1 字符编码表

    1ascii: 一个字节中的7位就可以表示。对应的字节都是正数。0-xxxxxxx

    2iso-8859-1:拉丁码表 latin,用了一个字节用的8位。1-xxxxxxx  负数。

    3GB2312:简体中文码表。包含6000-7000中文和符号。用两个字节表示。两个字节第一个字节是负数,第二个字节可能是正数

       GBK:目前最常用的中文码表,2万的中文和符号。用两个字节表示,其中的一部分文字,第一个字节开头是1,第二字节开头是0

        GB18030:最新的中文码表,目前还没有正式使用。

    1、unicode:国际标准码表:无论是什么文字,都用两个字节存储。

    l Java中的char类型用的就是这个码表。char c = 'a';占两个字节。

    l Java中的字符串是按照系统默认码表来解析的。简体中文版 字符串默认的码表是GBK。

    5UTF-8:基于unicode,一个字节就可以存储数据,不要用两个字节存储,而且这个码表更加的标准化,在每一个字节头加入了编码信息(后期到api中查找)

    能识别中文的码表:GBKUTF-8;正因为识别中文码表不唯一,涉及到了编码解码问题。

    对于我们开发而言;常见的编码 GBK  UTF-8  ISO-8859-1

    文字--->(数字) :编码。 “abc”.getBytes()  byte[]

    (数字)--->文字  : 解码。 byte[] b={97,98,99}  new String(b,0,len) 

    1.2 字符输入流Reader

    l read():读取单个字符并返回

    l read(char[]):将数据读取到数组中,并返回读取的个数。

    1.2.1 FileReader

    1.3 字符输出流Writer

    1.3.1 FileWriter

    1.4 flush()close()的区别?

    flush():将流中的缓冲区缓冲的数据刷新到目的地中,刷新后,流还可以继续使用。

    close():关闭资源,但在关闭前会将缓冲区中的数据先刷新到目的地,否则丢失数据,然后在关闭流。流不可以使用。如果写入数据多,一定要一边写一边刷新,最后一次可以不刷新,由close完成刷新并关闭。

  • 相关阅读:
    读写二进制c# 二进制读写
    重构风险程序员一定要遵守的规则
    文件区域使用fcntl锁定文件,并且测试
    数据清空js清空div里的数据问题
    模板缓存ThinkPHP中的模板引擎和视图层
    描述null11121 Base 2
    操作系统请求操作系统 算法
    工程项目eclipse项目名前出现红色感叹号,小红叉解决
    程序链接关于静态链接,动态链接,共享库,ABI的一些记录(os学习)
    NMAKE命令行编译
  • 原文地址:https://www.cnblogs.com/cst123/p/13411209.html
Copyright © 2011-2022 走看看