当前位置:   article > 正文

java中byte[]和String相互转换_java byte[] string互转

java byte[] string互转

正常来说,

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 "";
    }
}
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/程序自动化专家/article/detail/61433
推荐阅读
相关标签
  

闽ICP备14008679号