在Java中,将字符串转换为字节数组可以通过以下几种方式实现:
1. 使用`String`类的`getBytes()`方法:
String str = "Hello, World!";
byte[] byteArray = str.getBytes();
2. 使用`Charset`类的`encode()`方法:
import java.nio.charset.Charset;
String str = "Hello, World!";
Charset charset = Charset.forName("UTF-8");
byte[] byteArray = str.getBytes(charset);
3. 将16进制字符串转换为字节数组:
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] b = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
b[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16));
}
return b;
}
请根据您的需求选择合适的方法进行转换。如果您需要指定特定的字符集,请使用`Charset`类的`encode()`方法。如果您只是需要将字符串转换为字节,并且不关心字符集,可以使用`String`类的`getBytes()`方法。