关于编码-解码

今天小伙伴问我一个问题:为何要有时候需要编码解码?再不清晰的做编码解码的过程之后,文字会显示:?????

这是为什么咩?

首先:因为我们不是美人,因为美国人文字特别少,A-Z所以0-255的编码已经足够,也就是我们说的byte,8位的二进制结构(1byte = 8bit)。(ascii ios-8859-1)

但是我泱泱中华,0-255能干点什么? 三字经都表示不完整!

那么要如何解决呢?

我们引入一个新的数据结构:【char】

编解码就是这两者的相互转化:【byte】  [cahr],编码就是从[char]到[byte],反之为解码

拿UNICODE来说吧。UTF-16 顾名思义也就是16位的2进制表示一个字符eg:1111111111000000

举个例子:

我们输入了:

嗨喽,世界

[char]数组就有可能是:

[b12,c12,d12,e31]

[byte]数组就应该是:

[00100000,00100000,00100000,00100000,00100000,00100000,00100000,00100000]

在计算机中的基本数据单元是:最后一个byte,为了能让计算机存储识别,我们必须要将我们输入的文字转换为bytes存储起来(bytes这里是byte的数组的意思)

为了从计算机口中获取出我们想要的内容那么就需要解码:将[byte]搞成 [char]

那么有了UNICODE之后我们的汉字也可以完整的收录了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值