好的,一个朋友帮我稍微修改了这个代码。我理解其他部分的功能以及为什么要这样做,但有一点我不明白。这个128是从哪里来的?此外,该程序会运行,从文件中提取字符串并将其转换为二进制,但会去掉所有空格,因此当你将二进制重新转换为字符串时,它就变成了一个单词。那么这个128是什么意思?我该如何保留空格?
/******************************* *我已经解决了,感谢你们的帮助!* *我改变了代码,所以你可以看到我如何解决它。* *******************************/
public static void main(String[] args) {
String text = "My string to binary works too";
byte[] bytes = text.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes){
int val = b;
for (int i = 0; i < 8; i++){
binary.insert(0, (val & 1) == 0 ? 0 : 1);
val >>>= 1;
}
binary.insert(0, ' ');
System.out.print(binary);
}
}
}
Scanner
的next()
方法,这就是为什么他会丢失空格。 - Steve P.