字符和字节的区别

1、定义

字节(Byte)字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。

字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。

字符(Character):在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。

字符是指计算机中使用的字母、数字、字和符号。

2、所占存储空间

字符>=字节

ASCII编码中,数字、英文字母、中文汉字和符号所占用的空间(正常情况下):

一个数字占用一个字节的空间;

一个英文字母(不分大小写)占一个字节的空间

一个中文汉字占两个字节的空间

一个英文标点符号占一个字节的空间;

一个中文标点占两个字节的空间;

3字符,字节,字符串

理解编码的关键,是要把字符的概念和字节的概念理解准确。这两个概念容易混淆,我们在此做一下区分:

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

字节计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。如:0x010x450xFA…… 

至于字符串,在这里就只考虑ANSIUNICODE两种情况:

ANSI

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

UNICODE

字符串在内存中,如果字符是以在UNICODE中的序号存在的,那么我们称这种字符串为UNICODE字符串或者宽字节字符串。L"中文123"(占10字节)

由于不同ANSI编码所规定的标准是不相同的,因此,对于一个给定的多字节字符串,我们必须知道它采用的是哪一种编码规则,才能够知道它包含了哪些字符。而对于UNICODE 字符串来说,不管在什么环境下,它所代表的字符内容总是不变的

4、字节与字符的转换(Java语言:Byte[]String的转换)

String mString = "StringTest123"; //String变量 

byte mByteOut[] = mString.getBytes(); //String转换为byte[] 

String mStringOut = new String(mByteOut); //byte[]转换为String

 

至于,其具体的资料,可参看百度百科上的“字节”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值