【问题标题】:java: converting binary to text?java:将二进制转换为文本?
【发布时间】:2012-05-04 05:02:39
【问题描述】:

我编写了这段代码用于将二进制转换为文本。

public static void main(String args[]) throws IOException{

      BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
      System.out.println("Enter a binary value:");
      String h = b.readLine();
      int k = Integer.parseInt(h,2);  
      String out = new Character((char)k).toString();
      System.out.println("string: " + out);
      } 
}

看看输出!

Enter a binary value:
0011000100110000
string: ?

有什么问题?

【问题讨论】:

  • 你希望输出是什么?
  • 输出应该是字符串,例如 0011010100110101 = 55 或 011000010110000101100001 = aaa
  • 您希望它被解析为 ASCII....?还是什么?
  • 我希望它转换为文本(ascii)

标签: java binary


【解决方案1】:

而不是

String out = new Character((char)k).toString();

String out = String.valueOf(k);

编辑:

String input = "011000010110000101100001";
String output = "";
for(int i = 0; i <= input.length() - 8; i+=8)
{
    int k = Integer.parseInt(input.substring(i, i+8), 2);
    output += (char) k;
}   

【讨论】:

  • 这不是我想要的它将十六进制转换为我认为的字符串
【解决方案2】:

更简单:

String out=""+k;

【讨论】:

  • 它将十六进制转换为字符串!不是二进制字符串
  • 您希望它先转换为字符,然后再转换为字符串?请更清楚
  • 我要转成文本(ascii)
猜你喜欢
  • 2016-07-31
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 2012-10-09
  • 1970-01-01
相关资源
最近更新 更多