У меня есть функция преобразования двоичных значений в символы и записи этих символов в файл.
Двоичное значение: 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");
я получил это в файле з?ъз
.Это неправильно, потому что?знак (Hex: 3F, Binary: 0011 1111).Мне нужно правильное символьное значение двоичного значения (1111 1111) в файле.
Спасибо!