• java里字节与字符的区别


    当时学Java的时候没搞懂字节和字符的区别,今天看文件输入输出流的时候觉得是时候彻底把这两个概念弄懂。

      首先得知道byte的概念和作用:

      byte即字节的意思,是java中的基本数据类型,用来申明字节型的变量,一个字节包含8个位,所以,byte

    类型的取值范围是-128到127。

       通常在读取非文本文件时(如图片,声音,可执行文件)需要用字节数组来保存文件的内容,在下载文件时,

    也是用byte数组作临时的缓冲器接收文件内容。所以说byte在文件操作时是必不可少的。不管是对文件写入还是

    读取都要用到。

      在某些程序中(尤其是和硬件有关的程序)会将某些数据存储到字节类型的变量中,比如00110010,其中每个

    位都代表一个参数,然后以位运算的方式对参数进行取值和赋值操作。

      机器只知道字节,而字符却是语义上的单位,它是有编码的,一个字符可能编码成1个2个甚至3个4个字节。这

    跟字符集编码有关系,英文字母和数字是单字节,但汉字这些自然语言中的字符是多字节的。一个字节只能表示

    255个字符,不可能用于全球那么多种自然语言的处理,因此肯定需要多字节的存储方式。

      那么在文件的输入输出中,InputStream、OutputStream它们是处理字节流的,就是说假设所有东西都是二进

    制的字节;而 Reader, Writer 则是字符流,它涉及到字符集的问题;按照ANSI编码标准,标点符号、数字、大小

    写字母都占一个字节,汉字占2个字节。按照UNICODE标准所有字符都占2个字节。

      以上就是我对字节与字符的理解。

  • 相关阅读:
    top
    ls
    Redis持久化
    Redis数据库
    Redis对象类型
    Redis底层数据类型
    Redis面试问题
    Java源码解析——集合框架(五)——HashMap源码分析
    Java源码解析——集合框架(四)——LinkedListLinkedList原码分析
    Java源码解析——集合框架(三)——Vector
  • 原文地址:https://www.cnblogs.com/haojun/p/7759955.html
Copyright © 2020-2023  润新知