应用间接口相互调用·HTTPS网络传输byte[]数组

说明:这个是前段时间与Android端接口联调时碰到的问题!

问题描述:

      在Android端应用程序以HTTPS方式调用后端接口并传递byte[]数组参数,

刚开始是在Android端先将byte[]数组转换为String字符串,通过

网络传输发送给后端接口,后端接口接收到String类型参数然后将其转化为

byte[]数组,经比较发现后端接口接收的byte[]数组与Android端发送的byte[]数组

数据不一样。

代码是这样写的:

      ① byte[] byte1 = new byte[]{......};

      String str = new String(byte);

      ......HTTPS传输......

      byte[] byte2 = str.getByte();

      结果发现byte1 和 byte2 数据内容不一样

解决办法:

      1)用base64对byte数组进行编码,通过网络传输接收到数据之后,再用base64对其

解码得到byte数组。

      ② byte[] byte2 = new byte[]{......};

      String str = Base64.encodeBase64String(byte2);

      ......HTTPS传输......

      byte[] byte = Base64.decodeBase64(str);

      2)指定编码进行传输

      ③ byte[] byte3 = new byte[]{......};

   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值