【JAVA学习笔记】字符编码

前言

字符编码对于初学java遇到的不是那么多,但是之后学框架和做项目的时候就会遇到编码不统一的情况,所以对字符编码还是要有一定的理解。(要了解UTF-8、ASCII、GBK、Unicode)

Java语言对文本字符采用Unicode编码。由于计算机内存只能存取二进制数据,因此必须为各个字符进行编码。

例如:a --编码–> 0000 0000 0110 0001

常见编码
  • ASCII

ASCII–Amecian Standard Code for Information Interchange,美国信息交换标准代码。主用于表达现代英语和其他西欧语言中的字符。它是现今最通用的单字节编码系统,它只用一个字节的7位,一共表示128个字符。

  • ISO-8859-1

又称为Latin-1, 是国际标准化组织(ISO)为西欧语言中的字符制定的编码,用一个字节(8位)来为字符编码,与ASCII字符编码兼容。所谓兼容,是指对于相同的字符,它的ASCII字符编码和ISO-8859-1字符编码相同。

  • GB2312

包括对简体中文字符的编码,一共收录了7445个字符(6763个汉字+682个其他字符). 它与ASCII字符编码兼容。

  • GBK

对GB2312字符编码的扩展,收录了21886个字符(21003个字符+其它字符), 它与GB2312字符编码兼容。

  • Unicode

由国际Unicode协会编制,收录了全世界所有语言文字中的字符,是一种跨平台的字符编码。

Unicode具有两种编码方案:

  • 用2个字节(16位)编码,被称为UCS-2, Java语言采用;

  • 用4个字节(32位)编码,被称为UCS-4;

UCS(Universal Character Set)是指采用Unicode字符编码的通用字符集。

  • UTF

有些操作系统不完全支持16位或32位的Unicode编码,UTF(UCS Transformation Format)字符编码能够把Unicode编码转换为操作系统支持的编码,常见的UTF字符编码包括UTF-8、UTF-16、UTF-32。

  • UTF-8,使用一至四个字节为每个字符编码,其中大部分汉字采用三个字节编码,少量不常用汉字采用四个字节编码。因为 UTF-8 是可变长度的编码方式,相对于 Unicode 编码可以减少存储占用的空间,所以被广泛使用。

  • UTF-16,使用二或四个字节为每个字符编码,其中大部分汉字采用两个字节编码,少量不常用汉字采用四个字节编码。

  • UTF-32,使用四个字节为每个字符编码,使得 UTF-32 占用空间通常会是其它编码的二到四倍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值