Java 中的 char 数组和 byte 数组74


简介在 Java 中,char 数组和 byte 数组是两种基本的数据结构,用于存储字符和字节值。char 数组用于存储 Unicode 字符,而 byte 数组用于存储原始二进制数据。

char 数组char 数组是一个存储字符值的数组。每个元素是一个 16 位 Unicode 字符,因此 char 数组可以表示广泛的字符集,包括字母、数字、符号和特殊字符。

创建 char 数组可以通过以下方式创建 char 数组:```java
// 创建一个长度为 10 的 char 数组
char[] myCharArray = new char[10];
// 使用字符初始化 char 数组
char[] myCharArray = { 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' };
```

byte 数组byte 数组是一个存储 8 位字节值的数组。每个元素都是一个有符号整数,范围从 -128 到 127。byte 数组通常用于存储二进制数据,例如图像、声音和文件。

创建 byte 数组可以通过以下方式创建 byte 数组:```java
// 创建一个长度为 10 的 byte 数组
byte[] myByteArray = new byte[10];
// 使用字节初始化 byte 数组
byte[] myByteArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
```

char 数组和 byte 数组之间的转换char 数组和 byte 数组之间可以相互转换,具体取决于编码方案。最常用的编码方案是 UTF-8,它将 Unicode 字符编码为 8 位字节序列。

编码 char 数组到 byte 数组可以使用 `Charset` 类将 char 数组编码为 byte 数组:```java
// 将 myCharArray 编码为 UTF-8 编码的 byte 数组
byte[] myByteArray = ("UTF-8").encode(myCharArray).array();
```

解码 byte 数组到 char 数组可以使用 `Charset` 类将 byte 数组解码为 char 数组:```java
// 将 myByteArray 解码为 UTF-8 编码的 char 数组
char[] myCharArray = ("UTF-8").decode(myByteArray).array();
```

示例以下示例演示如何使用 char 数组和 byte 数组:```java
public class Main {
public static void main(String[] args) {
// 创建一个 char 数组
char[] myCharArray = { 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' };
// 将 char 数组编码为 UTF-8 编码的 byte 数组
byte[] myByteArray = ("UTF-8").encode(myCharArray).array();
// 打印 byte 数组的内容
for (byte b : myByteArray) {
(b + " ");
}
// 将 byte 数组解码回 char 数组
char[] decodedCharArray = ("UTF-8").decode(myByteArray).array();
// 打印解码后的 char 数组的内容
for (char c : decodedCharArray) {
(c);
}
}
}
```

输出:```
72 101 108 108 111 32 87 111 114 108 100
Hello World
```

2024-11-12


上一篇:深入理解 Java 中的类方法

下一篇:Java 大数据排序优化指南