我想知道是否可以输入二进制数并将它们翻译回文本。例如,我会输入“01101000 01100101 01101100 01101100 01101111”,它会将其转换为“你好”这个词。
最佳答案
只是一些逻辑上的更正:
这里分三个步骤
- 将二进制集转换为整数
- 然后把整数变成一个字符
- 然后连接到你正在构建的字符串
幸运的是,parseInt
采用 radix
参数作为基数。因此,一旦您将字符串切成(可能)长度为 8 的字符串数组, 或 访问必要的子字符串,您需要做的就是 (char)Integer.parseInt( s, 2)
和连接。
String s2 = "";
char nextChar;
for(int i = 0; i <= s.length()-8; i += 9) //this is a little tricky. we want [0, 7], [9, 16], etc (increment index by 9 if bytes are space-delimited)
{
nextChar = (char)Integer.parseInt(s.substring(i, i+8), 2);
s2 += nextChar;
}
关于java - 将二进制字符串转换为ASCII文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453017/