我有一个二进制代码(说“0100001001000011”),我打算将值转换为相应的字符。字符串二进制到字符串8位数字在JAVA
- 从左到右扫描二进制代码,每个单元8位。 (然后你就可以得到两个二进制串,01000010 01000011和)
谁能帮助我在Java代码一号?
我有一个二进制代码(说“0100001001000011”),我打算将值转换为相应的字符。字符串二进制到字符串8位数字在JAVA
谁能帮助我在Java代码一号?
当然...
String str = Arrays.stream(binary.split("(?<=\\G.{8})"))
.map(s -> Integer.parseInt(s, 2)).map(i -> ""+(char)i)
.collect(Collectors.joining(""));
免责声明:代码可能无法编译或工作,因为它是在翻阅我的手机上(但有一个合理的机会,将工作)
此方法将包含二进制代码的字符串转换为由String参数表示的ASCII字符串。
public static String binaryToString(String binary){
String output = "";
for (int i=0; i<binary.length(); i+=8){
String next = binary.substring(i,i+8);
int code = Integer.parseInt(next,2);
output += ((char) code);
}
return output;
}
基本上使用Integer.parseInt(String s, int radix)
到字符串转换为一个数字与给定基(或基数),那么该强制转换到char
。
这就是我想要的。谢谢!! – Peter
[Java中的二进制文本]可能的重复(http://stackoverflow.com/questions/4211705/binary-to-text-in-java) – Kyle
您需要知道字符集和编码。 ASCII可能是这样,但IBM437,Windows-1252,UTF-8也可以,而且在那里有几十个。 –