java中生成pb string,再解析的时候会缺少字段

问题:pb结构先转成byte[],再从byte[]转成string,再从string解析的时候就会缺少字段

原因:pb生成的byte可能出现负数,但是java的byte只能是正数,所以java byte再转string出错,因为它把负数转成特殊的字符串,导致其他地方再解析的时候,就会有一些字段解析不出来

解决方案:

  1. 直接使用byte[],不要再转成string,或者在调jni的时候在C++层转
  2. 必须要在java层转的话在转string的时候使用base64,让他使用固定的编码方式
    Base64.getEncoder().encodeToString(pbBtye),但是可能性能有损耗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值