java把一个字符数组转换成字节数组
时间: 2023-05-23 11:01:22 浏览: 128
可以使用 String 类中的 getBytes() 方法把一个字符数组转换成字节数组。例如:
char[] charArray = {'a', 'b', 'c'};
byte[] byteArray = new String(charArray).getBytes();
这个方法将根据默认的字符集编码把字符数组转换为字节数组,但也可以指定使用指定的字符集,例如:
byte[] byteArray = new String(charArray).getBytes("UTF-8");
这样就会使用 UTF-8 字符集进行编码。
相关问题
Java字节数组转换成十六进制字符串
Java中可以使用以下代码将字节数组转换成十六进制字符串:
```
public static String bytesToHex(byte[] bytes) {
char[] hexArray = "0123456789ABCDEF".toCharArray();
char[] hexChars = new char[bytes.length * 2];
for (int i = 0; i < bytes.length; i++) {
int v = bytes[i] & 0xFF;
hexChars[i * 2] = hexArray[v >>> 4];
hexChars[i * 2 + 1] = hexArray[v & 0x0F];
}
return new String(hexChars);
}
```
使用方法如下:
```
byte[] bytes = {0x12, 0x34, (byte) 0xAB, (byte) 0xCD};
String hexString = bytesToHex(bytes);
System.out.println(hexString); // output: "1234ABCDEF"
```
java中将字节数组转换成16进制的字符串
可以使用Java自带的BigInteger类的toString方法来将字节数组转换成16进制的字符串,示例代码如下:
```
import java.math.BigInteger;
public class ByteArrayToHex {
public static String byteArrayToHex(byte[] bytes) {
BigInteger bigInt = new BigInteger(1, bytes);
String hex = bigInt.toString(16);
int paddingLength = (bytes.length * 2) - hex.length();
if (paddingLength > 0) {
return String.format("%0" + paddingLength + "d", 0) + hex;
} else {
return hex;
}
}
public static void main(String[] args) {
byte[] bytes = {0x12, 0x34, (byte) 0xAB, (byte) 0xCD};
String hex = byteArrayToHex(bytes);
System.out.println(hex);
}
}
```
以上代码执行的结果为:
```
1234abcd
```