Java 编码解码

1、前言

位(bit):一个最小的信息单元是位,一位表示0和1中的一个,即一个二进制位。

字节(byte):由相连的8个位组成的信息存储单位,是目前计算机最基本的存储单位,一个byte表示的数字区间[0,255]。

2、编码解码的目的

编码和解码是char和byte两个数据类型之间转换中产生的。编码是将字符串转换为byte数组;解码是将byte数组转换为字符串。

计算机只能识别0和1两个数字,所有的符号和文字必须经过编码才能翻译成我们计算机认识的语言,相反,想要计算机显示我们能读懂的语言也需要计算机进行相应的解码。

3、编码格式
3.1 ASCII码

ASCII编码是美国人给自己设计的,收录了128个字符,包含了基本的英文字母、阿拉伯数字、标点符号、特殊符号和一些具有控制功能的字符。

3.2 ISO-8859-1

扩展ASCII编码,总共能表示256个字符。

3.3 GBK

汉字内码扩展规范。专门为解决汉字的编码而生成的解决方案。

3.4 Unicode

Unicode是国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。

UTF-8编码:是一种变长字符编码,被定义为将码点编码为1至 4个字节,具体取决于码点数值中有效二进制位的数量

UTF-16编码:是一种变长字符编码, 这种编码方式比较特殊, 它将字符编码成2字节或者4字节。

3.5 几种编码格式的比较

GBK用于处理汉字字符。

UTF-16对于处理字符到字节的转换编码效率较高,适合本地磁盘和内存之间使用,但是它不适合在网络之间传输,因为网络传输容易毁坏字节流,相对而言,UTF-8更适合网络传输,UTF-8 在编码效率上和编码安全性上做了平衡,是理想的中文编码方式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值