赞
踩
正常来说,
string要转换为byte[],直接string.getBytes();
而byte[]转换为string,则使用new String()即可转换
但是,存在一种情况,在byte[]转换为String时,byte[]数组中存在多余的0,如果还是强制转化new String,就会出现转换前后的字符串不等的结果。
参考下列博客https://my.oschina.net/xinyuanKong/blog/1835951
java byte[]转String,去除多余0
/** * 字节数组转换为string,把byte[]中多余的0去掉 * @param buffer * @return */ public String byteToStr(byte[] buffer) { try { int length = 0; for (int i = 0; i < buffer.length; ++i) { if (buffer[i] == 0) { length = i; break; } } return new String(buffer, 0, length, "UTF-8"); } catch (Exception e) { return ""; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。