tianxin_1234 2016-10-20 11:40 采纳率: 20%
浏览 941

字符串和字节数组之间互相转换失败

java中对String.getBytes()得到的字节数组处理,处理完转换为String,再通过String.getBytes()得到的字节数组和原字节数组不同,再次对字节数组做相反的处理得到的字符串乱码

package com.cjs.file.test;

import java.io.UnsupportedEncodingException;

public class Test {

public static void main(String[] args) throws UnsupportedEncodingException {

    String fileContent = "今天是神十一飞行乘组在组合体的第一天";

    byte[] fileContentByte1 = fileContent.getBytes();

System.out.println("fileContentByte1 length : " + fileContentByte1.length); //fileContentByte1 length : 54

    for (int i=0; i<fileContentByte1.length; ++i) {
        fileContentByte1[i] -= 10;
    }   
    String fileContentBak = new String(fileContentByte1, "UTF-8");
    byte[] fileContentByte2 = fileContentBak.getBytes("UTF-8");

System.out.println("fileContentByte2 length : " + fileContentByte2.length); //fileContentByte2 length : 76

    for (int i=0; i<fileContentByte2.length; ++i) {
        fileContentByte2[i] += 10;
    }
    String result = new String(fileContentByte2, "UTF-8");

System.out.println(result); //����������������十一������������组����组合����的����一����
}

}


  • 写回答

1条回答 默认 最新

  • tianxin_1234 2016-10-20 11:39
    关注

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错