字符与字节有区别吗



字节与字符有区别吗???

关于字节与字符的区别,很多人都在再讨论这个问题这个问题;

    其实从通俗的意义上来讲,它们两个有着完全不同的概念,所以两者之间并没有“ 区别 ”这个说法可谈。在不同编码里面,字符和字节的对应关系都有所不同。




首先我们来明确这两者的概念:

什么事字节?

    字节(byte)是一种计量单位,表示数据量的多少,它是计算信息技术中用来计量存储容量的一种计量单位。


什么事字符?
    字符是指计算机中使用的单个文字和符号,例如:A、B、C、D、E、F、G、a、b、c、d、e、f、g、!、@、#、$、%、^、&、*、_、-等。



字节与字符?

    在程序中处理字节流与字符流都定义两个抽象类,作为一个 Java 开发攻城狮,这几个抽象类都并不陌生,一个处理字节流的两个抽象类 InputStreamOutputStream,一个处理字符流的两个抽象类Reader与Writer。字节(byte)在java程序中是一种基本数据类型,其表示一个字节,一个字节由8位元组组成(如:01000110),byte的取值范围是-128到127,所以一个字节的最大大小为225;在8位元组中每个位都代表一个参数,然后以位运算的方式对参数进行取值和赋值操作。在计算机中只能识别字节,而字符是计算机语义上的单位,它是有编码的,一个字符可能编译成1个或者两个甚至更多的字节,这个跟字符集编码密切相关:

1)、ASCII码中:

    标点符号、数字、大小写字母都占一个字节的,一个中文汉字占两个字节的。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制,最小值0,最大值255。

2)、UTF-8编码中:

    一个英文字符等于一个字节,一个中文(含繁体)字符等于三个字节。

3)、Unicode编码中:

    一个英文等于两个字节,一个中文(含繁体)等于两个字节。

    符号:英文标点占一个字节,中文标点占两个字节。

4)、UTF-16编码中:

    一个英文字母字符或一个汉字字符的存储都占用2个字节(注:Unicode扩展区的一些汉字存储占用4个字节)。

5)、UTF-32编码中:

    在全世界任何字符使用该编码的存储方式都占用4个字节。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值