假设我有一个二进制字符串(“0 和 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());