java中一个字符是几个字节?字符和字节是同等的吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中一个字符是几个字节?字符和字节是同等的吗?相关的知识,希望对你有一定的参考价值。

参考技术A 字符
不等于
字节。
字符(char)是
Java
中的一种基本数据类型,由
2
个字节组成,范围从
0
开始,到
2^16-1。
字节是一种数据量的单位,一个字节等于
8
位。所有的数据所占空间都可以用字节数来衡量。例如一个字符占
2
个字节,一个
int

4
个字节,一个
double

8
个字节
等等。
参考技术B java字符采用的是统一码(Unicode),它是一种16位编码方案,支持世界不同语言的文本交换,处理,和显示。Unicode占两个字节。另外一种常用编码方案是ASCII,占一个字节。提一下,java中也可以使用ASCII字符。存储不同长度的东西java会用不同的存储长度来提高存储利用率。
字符是指计算机中使用的字母、数字、字和符号,如:1、2、3、A、B、C
字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。
存储字符需要占空间,这个空间的大小就是用字节来描述的。
参考技术C 一个字节是8位二进制。java中的字符是unicode码,占2个字节,即16位。
如果你指的是java的跨平台中间代码:java字节码,那么又当别论了

Java补缺补漏—字符字节的概念及其区别

首先我们先看一下这个问题:“Java语言中字符串“学Java”所占的内存空间是几个字节?”,要回答这个问题我们就必须先要清楚什么是“字节”什么是“字符”。

       字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制,它是一

8位的二进制数,是一个很具体的存储空间。

       字符:人们使用的记号,抽象意义上的一个符号。 ‘1‘, ‘中‘, ‘a‘, ‘$‘, ‘¥‘, ……

       谈到字符就不得不提ANSI及UNICODE两种不同的编码方式标准(对这两种编码方式标准在此我只简单提一下,如果大家有兴趣可以自己去查一下),ANSI中的字符采用8bit,而

UNICODE中的字符采用16bit。(对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和中文的字符都以双字节存放)Unicode码也是一种国际标

准编码,采用二个字节编码,与ANSI码不兼容。     ANSI规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为

高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了。在这些编码里,我们还把数学符号、罗马希腊的字母、日文的假

名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符了。

从 UNICODE 开始,无论是半角的英文字母,还是全角的汉字,它们都是统一的"一个字符"!同时,也都是统一的"两个字节"。

       我们可以简单的记这样一个结论:按照ANSI编码标准,标点符号、数字、大小写字母都占一个字节,汉字占2个字节。按照UNICODE标准所有字符都占2个字节。

       我们再来看一下字符串,由于字符有2种编码标准,所以字符串也分为2种。

       字符串(ANSI):在内存中,如果“字符”是以 ANSI 编码形式存在的,一个字符可能使用一个字节或多个字节来表示,那么我们称这种字符串为 ANSI 字符串或者多字节字符串。

       字符串(UNICODE):在内存中,如果“字符”是以在 UNICODE 中的序号存在的,那么我们称这种字符串为 UNICODE 字符串或者宽字节字符串。

       由于不同 ANSI 编码所规定的标准是不相同的,因此,对于一个给定的多字节字符串,我们必须知道它采用的是哪一种编码规则,才能够知道它包含了哪些“字符”。而对

于 UNICODE 字符串来说,不管在什么环境下,它所代表的“字符”内容总是不变的。

       至此我们在上面提出的问题就迎刃而解了,因为在Java当中字符是采用Unicode编码标准的,所以“学Java”这个字符串在Java语言中占10个字节。

以上是关于java中一个字符是几个字节?字符和字节是同等的吗?的主要内容,如果未能解决你的问题,请参考以下文章

一个空格占多少个字符?

数据库中日期型数据的长度是几个字节

unicode 是几个字节?

unicode字符集是几个字节表示一个字符?为啥需要utf-8?

delphi中一个数字占用几个字节???

一个汉字到底是多少个字符,高手请进