Java char[] 数组转换为 byte[] 数组273


在 Java 中,char[] 数组包含 Unicode 字符,而 byte[] 数组包含 8 位有符号整数。将 char[] 数组转换为 byte[] 数组需要逐个字符进行编码。

以下是将 char[] 数组转换为 byte[] 数组的步骤:
创建一个等效长度的 byte[] 数组。
遍历 char[] 数组,并将每个 Unicode 字符编码为 UTF-8 字节。
将编码的字节存储在 byte[] 数组中。

以下代码示例演示了如何将 char[] 数组转换为 byte[] 数组:```java
import ;
public class CharArrayToByteArray {
public static void main(String[] args) {
char[] chars = {'H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'};
// 创建等效长度的 byte[] 数组
byte[] bytes = new byte[];
// 遍历 char[] 数组并编码每个字符
for (int i = 0; i < ; i++) {
byte[] encodedBytes = (chars[i]).getBytes(StandardCharsets.UTF_8);
bytes[i] = encodedBytes[0]; // UTF-8 编码仅需要第一个字节
}
// 打印 byte[] 数组
for (byte b : bytes) {
(b);
}
}
}
```

输出:
72
101
108
108
111
87
111
114
108
100

请注意,UTF-8 编码可能会产生多字节字符,具体取决于字符的 Unicode 值。本示例中,所有字符都是单字节字符,因此每个字符只需要一个字节进行编码。

除了使用 UTF-8 编码之外,还可以使用其他编码格式,例如 UTF-16 和 ISO-8859-1。请根据您的具体需求选择合适的编码格式。

2024-11-25


上一篇:如何生成 Java 中不重复的字符串

下一篇:Java 抽象方法:定义和作用