java - 将二进制字符串转换为ASCII文本?

标签 java text binary

我想知道是否可以输入二进制数并将它们翻译回文本。例如,我会输入“01101000 01100101 01101100 01101100 01101111”,它会将其转换为“你好”这个词。

最佳答案

只是一些逻辑上的更正:

这里分三个步骤

  1. 将二进制集转换为整数
  2. 然后把整数变成一个字符
  3. 然后连接到你正在构建的字符串

幸运的是,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/

相关文章:

java - Spring: Autowiring 静态自引用不起作用

Java多线程: Fast alternative to AtomicInteger wanted

python - 将格式化文本存储在变量 python 中

PHP - 将第一个数组的值设置为第二个数组的迭代

将windows生成的二进制数据文件转换成linux

java - 如何在 String 中获取 jsch shell 命令输出

Java 布局比例 : Creating a scalable square Panel

loops - Swift - UITextField 以编程方式从 for 循环中获取文本供以后使用

python - "%"登录 matplotlib Python

java - 如何在 Java 中将小数转换为二进制?