现在需要按照偏移量来输出?原来是按照整数组输出?
是否有源码 对比下?
dffbzjpn1#
byte[]输出为base64字符串,这个在fastjson/jackson中的行为都是一致的,你遇到什么问题了?
ss2ws0br2#
@wenshao 下面是重写 ServletOutputStream 的write方法原来:@OverRidepublic void write(byte buf[], int off, int len){oldStr = new String(buf, CommonUtils.CODE_UTF8);现在:@OverRidepublic void write(byte buf[], int off, int len){oldStr = new String(buf, off, len, CommonUtils.CODE_UTF8);升级到了1.2.29后 需要在转为字符串的时候 需要将按照数组的具体的off,len来取数据 不然在后面就有一串000000 导致返回的结果不一致了。以前的版本是直接拿整个byte长度输出的这是是不是fastjson view 在返回的时候 这个byte[] 的处理有变化了
2条答案
按热度按时间dffbzjpn1#
byte[]输出为base64字符串,这个在fastjson/jackson中的行为都是一致的,你遇到什么问题了?
ss2ws0br2#
@wenshao 下面是重写 ServletOutputStream 的write方法
原来:
@OverRide
public void write(byte buf[], int off, int len)
{
oldStr = new String(buf, CommonUtils.CODE_UTF8);
现在:
@OverRide
public void write(byte buf[], int off, int len)
{
oldStr = new String(buf, off, len, CommonUtils.CODE_UTF8);
升级到了1.2.29后 需要在转为字符串的时候 需要将按照数组的具体的off,len来取数据 不然在后面就有一串000000 导致返回的结果不一致了。
以前的版本是直接拿整个byte长度输出的
这是是不是fastjson view 在返回的时候 这个byte[] 的处理有变化了