【Java】计算机如何存储字符&&常用编码介绍

本文深入探讨了计算机存储字符的本质,从ASCII编码的简单介绍,到Unicode编码解决乱码问题,再到UTF-8编码在节省空间与兼容性上的优势。通过理解这些编码方式,有助于更好地理解和处理字符数据。

1.计算机存储字符的本质原理

计算机存储字符型数据的本质:将字符转为对应码值,然后将码值转换为二进制,最后存到计算机中。

2. 常用编码介绍

2.1 概括

采用不同的编码方式,则字符对应的码值就不同。目前常见的编码方式有:

1. ASCII码。固定使用1个字节来表示字符,可以表示128个字符。
2. Unicode码。固定使用2个字节来表示字符(字母和汉字都是)。
3. utf-8。字母用1个字节表示,汉字用3个字节表示。
4. GBK。字母用1个字节表示,汉字用2个字节表示。

2.2 ASCII编码

ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码。

【优点】只用1个字节表示字符。
【缺点】最多只表示127个字符,表示字符数量有限。
在这里插入图片描述

2.3 Unicode编码

Unicode,统一码,又叫万国码。
是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

【优点】不会出现乱码现象。
【缺点】固定使用2个字节表示一个字符(包括字母、汉字),比较占用存储空间。

【注】Unicode码向下兼容ASCII码的

字符'a'的ASCII码值是97,对应的Unicode码值是0x0061(十进制表示就是97

2.4 UTF-8编码

UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。(可以理解为是对Unicode编码的改进)

它可以用来表示Unicode编码中的任何字符,而且其编码中的第一个字节仍与ASCII相容(即同样向下兼容ASCII编码),使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。

【特点】字母用1个字节表示,汉字用3个字节。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值