图片toByteArray字节数组为什么必须进行Base64编码才能传输?
出处:互联网  更新时间:2022-11-17
服务器端得到了图片对应的字节数组,要通过http协议传输到android客户端,用newString()传入图片的字节数组,然后传到客户端,然后客户端通过String.getBytes()方法得到字节数组进行解析以后得不到图片,必须通过Base64编码,然后客户端进行Base64解码才行,为什么?

http协议可以传输二进制数据(浏览器里面的图片、视频、音频都是二进制数据),问题是传输的时候必须保证字节不会改变。你直接将图片的字节转化为一个字符串一般是不行的,除非使用的字符集在0~255之间全部有对应的字符,否则就会导致某些字节转换错误,那么客户端所收到的就不再是原来的那些字节了。base64之所以可以,是因为编码之后的字符都落在ASCII区间,而ASCII是所有字符编码都会支持的,因此可以正确传输和还原。
网站申明:系本文编辑转载,来源于网络,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,所有权归属原作者。如内容、图片有任何版权问题,可联系我们删除
正在被浏览的文章
新闻动态  互联网  2011-07-07
新闻动态  互联网  2016-03-05
新闻动态  互联网  2017-06-02
热点文章
物流问答  互联网  2017-01-08
物流问答  互联网  2017-01-08
更多精彩文章点此进入
长按下图选择“设别图中二维码”关注公众号
微信公众号