通常的方法是用于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