このコードを使用して、バイナリ文字列をテキスト文字列に変更しました。
StringBuilder contentBuilder = new StringBuilder();
StringBuffer sb = new StringBuffer();
try {
BufferedReader in = new BufferedReader(new FileReader("filename.txt"));
String jitu;
while ((jitu = in.readLine()) != null) {
contentBuilder.append(jitu);
}
in.close();
} catch (IOException e) {
}
String binput = contentBuilder.toString();
for (int i = 0; i < binput.length()/8; i++)
{
int a = Integer.parseInt(binput.substring(8*i,(i+1)*8),2);
sb.append((char)(a));
}
次に、次のコードでこのテキストをバイナリに戻したいと思います。
byte[] bytes = binput.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes){
int val = b;
for (int i = 0; i < 8; i++){
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}}
しかし問題は、binary.append() からいつ出力を取得するかです。それは入力バイナリ文字列と同じではありません。入力と同じ出力が必要です。前もって感謝します。