将字符串(如testing123)转换为Java中的二进制文件

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

回答:

通常的方法是用于String#getBytes()获取基础字节,然后以其他某种形式(十六进制,二进制形式)呈现这些字节。

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

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

  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 

以上是 将字符串(如testing123)转换为Java中的二进制文件 的全部内容, 来源链接: utcz.com/qa/401019.html

回到顶部