您的位置:首页 > 理论基础 > 数据结构算法

关于编码-解码

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

这是为什么咩?

首先:因为我们不是美人,因为美国人文字特别少,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之后我们的汉字也可以完整的收录了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息