编码与解码=加密与解密
ABCD四人打扑克牌赌博,赌博之前AB私下有约,通过打手势的方式告知对方自己手里的关键牌,从而达到双赢的合作.
协定:伸出大拇指就表示大王在谁手里,伸出小拇指就表示小王在谁手里
现场:当A拿到大王时,伸出大拇指(编码 加密),B看到A伸出大拇指,根据合约知道A拿有大王(解码 解密)
二进制 字符 字符集 字符集编码
项目 | 计算机 | 打扑克 |
---|---|---|
二进制 | 0101010 | 大拇指 小拇指 |
字符 | A 你好 | 54张牌中任一张 |
字符集 | ASCII Unicode等 | 54张扑克牌 52张扑克牌 |
字符集编码 | ASCII utf-8 GBK GB2312 | 大拇指对应大王 |
总结
字符集编码搭建在二进制与字符集之间的桥梁(秘钥),可见要想不出现乱码,除了把二进制传递给对方外,还要告诉秘钥(编码方式).
如果一个软件把字符通过utf-8的编码方式存放到文件当中,而另外一个软件通过GBK编码方式打开这个文件,就会出现乱码问题.
参考
[1]: http://os.51cto.com/art/201503/467929.htm
[2]: http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html