文件中的0xFF错误字符-JAVA

时间:2019-02-24 15:06:25

标签: java binary converters

我具有将二进制值转换为字符并将这些字符写入文件的功能。

二进制值:11100111 11111111 11111010 11100111

    String input = "11100111111111111111101011100111";

    StringBuilder sb = new StringBuilder(); 

    Arrays.stream( 
        input.split("(?<=\\G.{8})") 
    ).forEach(s -> 
        sb.append((char) Integer.parseInt(s, 2)) 
    );

    String output = sb.toString();

通过第一个,第三个和第四个8位转换可以,但是到第二个8位是错误的。输出为-1。我知道为什么这样做,但是我不知道如何修复将正确字符写入文件的代码。

问题是:文件中的字符错误。

在我的Eclipse输出控制台上:çÿúç 在文件中:з?ъз

写入文件FileUtils.writeStringToFile(new File("c:\\Users\\FileNameToWrite.txt");后,我将其保存在文件з?ъз中。这是错误的,因为?标记(十六进制:3F,二进制:0011 1111)。我需要在文件中使用正确的字符值二进制值(1111 1111)。

谢谢!

0 个答案:

没有答案