Base64编码是从二进制值到某些特定字符的编码,这些特定字符一共64个,所以称作Base64。为什么不直接传输二进制呢?比如图片,或者字符,既然实际传输时它们都是二进制字节流。而且即使Base64编码过的字符串最终也是二进制(通常是UTF-8编码,兼容ASCII编码)在网络上传输的,那么用4/3倍带宽传输数据的Base64究竟有什么意义?真正的原因是二进制不兼容。某些二进制值,在一些硬件上,比如在不同的路由器,老电脑上,表示的意义不一样,做的处理也不一样。同样,一些老的软件,网络协议也有类似的问题。但是万幸,Base64使用的64个字符,经ASCII/UTF-8编码后在大多数机器,软件上的行为是一样的。
(在ASCII码的可显示字符上选出一个子集,来表示所有的二进制流)
标签:为什么,Base64,编码,二进制,base64,传输,字符,ASCII From: https://www.cnblogs.com/daxiong-levy/p/17156687.html