把一个byte[]数组 变成 字符串,再变回byte[]数组,前后两个数组长度可能不同

把一个byte[]数组 变成 字符串,再变回byte[]数组,前后两个数组长度可能不同,即使两次转换使用的是同一种字符集

    String  content = "朱元璋";

    byte[] line = content.getBytes("utf-8");   //长度为9

   

   

   

   

    byte[] subLine = ArrayUtils.subarray(line, 0, 5); //长度为5    

    new String(subLine,"utf-8").getBytes("utf-8").length; //长度为6

   看subLine,本来长度是5,转了一圈之后变成6了

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.