Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅关注editing this post一个问题。

2年前关闭。



Improve this question




我希望能够将字符串(带有单词/字母)转换为其他形式,例如二进制。
我将如何去做。我正在使用BLUEJ(Java)进行编码。
谢谢

最佳答案

通常的方法是使用String#getBytes()获取底层字节,然后以其他某种形式(十六进制,二进制)显示这些字节。

请注意,getBytes()使用默认字符集,因此,如果要将字符串转换为某些特定的字符编码,则应改用getBytes(String encoding),但是很多次(尤其是在处理ASCII时)getBytes()(并具有不抛出选中字符的优点)异常(exception))。

对于特定的二进制转换,下面是一个示例:

  String s = "foo";
  byte[] bytes = s.getBytes();
  StringBuilder binary = new StringBuilder();
  for (byte b : bytes)
  {
     int val = b;
     for (int i = 0; i < 8; i++)
     {
        binary.append((val & 128) == 0 ? 0 : 1);
        val <<= 1;
     }
     binary.append(' ');
  }
  System.out.println("'" + s + "' to binary: " + binary);

运行此示例将产生:
'foo' to binary: 01100110 01101111 01101111

关于java - 将字符串(如testing123)转换为Java中的二进制文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/917163/

10-11 19:59
查看更多