バイナリ文字列( "0 and 1s")があり、この文字列をバイナリファイルに書き込みたいとしましょう。これは、Javaでどのように実行できますか?ASCII値の文字列に変換して、そこからByteArrayInputStreamを作成しようとしましたが、127を超える値は正しく表示されません。誰かがこれを手伝ってくれますか?私のbinaryToAsciiメソッド:
public static String BinaryToAscii(String bin){
int num_of_bytes = bin.length()/8;
StringBuilder sb = new StringBuilder();
int index = 0;
String byte_code;
Character char_code;
for (int i =0; i<num_of_bytes;i++){
index = i*8;
byte_code = bin.substring(index,index+8);
int charCode = Integer.parseInt(byte_code, 2);
char_code = new Character((char)charCode);
sb.append(char_code);
}
return sb.toString();
}
次に、返された文字列をByteArrayInputStreamに変換します。
InputStream is = new ByteArrayInputStream(ascii.toString()。getBytes());