java字符串转为byte数组
时间: 2023-10-16 20:11:20 浏览: 131
你可以使用Java中的getBytes()方法将字符串转换为字节数组。该方法将字符串转换为默认字符集的字节数组。以下是一个示例:
```java
String str = "Hello World";
byte[] byteArray = str.getBytes();
```
在上面的示例中,`str`是要转换的字符串,`byteArray`是转换后的字节数组。请注意,默认情况下,`getBytes()`方法将使用平台的默认字符集进行转换。如果需要指定其他字符集,可以使用重载的`getBytes()`方法。
```java
String str = "你好世界";
byte[] byteArray = str.getBytes("UTF-8");
```
上述示例中,字符串`str`包含中文字符,我们指定了字符集为UTF-8。
请确保在处理字符串转换为字节数组时,使用适当的字符集以避免出现乱码或不正确的结果。
相关问题
把字符串转为字节数组
好的,可以使用 Java 语言中的 String 类的 getBytes() 方法将字符串转换为字节数组。例如,假设有一个字符串 str,可以使用以下代码将其转换为字节数组:
```
byte[] bytes = str.getBytes();
```
注意,该方法将使用默认字符集来进行编码,如果需要指定字符集,可以使用带有参数的 getBytes() 方法,例如:
```
byte[] bytes = str.getBytes("UTF-8");
```
这将使用 UTF-8 字符集来进行编码。
byte转java byte_Java byte数组与十六进制字符串互转
将Java byte数组转为十六进制字符串可以使用以下代码:
```java
public static String bytesToHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
```
将十六进制字符串转为Java byte数组可以使用以下代码:
```java
public static byte[] hexToBytes(String hex) {
int len = hex.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)
+ Character.digit(hex.charAt(i+1), 16));
}
return data;
}
```
注意,在将byte数组转为十六进制字符串时,需要使用String.format方法将每个byte转为两位的十六进制字符串,并且需要使用StringBuilder拼接字符串。在将十六进制字符串转为byte数组时,需要将每两个十六进制字符转为一个byte,并且需要使用位运算符将其合并。
阅读全文