在Java中,将`char`转换为`byte`数组可以通过以下几种方法实现:
1. 使用`String`类的`getBytes`方法:
```java
String s = "1";
byte[] b = s.getBytes();
System.out.println(b); // 输出:1
2. 使用`Charset`类进行转换:
```java
import java.nio.charset.Charset;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
public class CharToByte {
public static byte[] charToByte(char c) {
byte[] b = new byte;
b = (byte) ((c & 0xFF00) >> 8);
b = (byte) (c & 0xFF);
return b;
}
public static void main(String[] args) {
char c = '1';
byte[] byteArray = charToByte(c);
for (byte b : byteArray) {
System.out.println(b);
}
}
}
3. 使用`CharsetEncoder`进行转换:
```java
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
import java.nio.ByteBuffer;
public class CharToByte {
public static byte[] charToByte(char c) {
Charset cs = Charset.forName("UTF-8");
CharBuffer cb = CharBuffer.wrap(new char[]{c});
ByteBuffer bb = cs.encode(cb);
return bb.array();
}
public static void main(String[] args) {
char c = '1';
byte[] byteArray = charToByte(c);
for (byte b : byteArray) {
System.out.println(b);
}
}
}
以上方法都可以将单个`char`转换为`byte`数组。如果需要转换`char[]`数组,可以使用类似的方法,例如使用`CharsetEncoder`:
```java
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
import java.nio.ByteBuffer;
public class CharArrayToByteArray {
public static byte[] charArrayToByteArray(char[] chars) {
Charset cs = Charset.forName("UTF-8");
CharBuffer cb = CharBuffer.wrap(chars);
ByteBuffer bb = cs.encode(cb);
return bb.array();
}
public static void main(String[] args) {
char[] chars = {'1', '2', '3'};
byte[] byteArray = charArrayToByteArray(chars);
for (byte b : byteArray) {
System.out.println(b);
}
}
}
这些方法可以帮助你在Java中实现`char`到`byte`数组的转换