阅读量:0
在Java中处理多字节Unicode字符非常简单,因为Java的字符串是以Unicode编码的
- 使用
\u
表示法编写Unicode字符:
public class Main { public static void main(String[] args) { String str = "\u4F60\u597D, \u4E16\u754C!"; // 你好,世界! System.out.println(str); } }
- 使用
char
数据类型存储Unicode字符:
public class Main { public static void main(String[] args) { char ch1 = '\u4F60'; // 你 char ch2 = '\u597D'; // 好 System.out.println("" + ch1 + ch2); } }
- 使用
String
类的构造函数将字节数组转换为字符串:
public class Main { public static void main(String[] args) { byte[] bytes = new byte[]{(byte) 0xE4, (byte) 0xBD, (byte) 0xA0, (byte) 0xE5, (byte) 0xA5, (byte) 0xBD}; // 你好的UTF-8编码 try { String str = new String(bytes, "UTF-8"); System.out.println(str); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }
- 使用
String
类的getBytes()
方法将字符串转换为字节数组:
public class Main { public static void main(String[] args) { String str = "你好"; try { byte[] bytes = str.getBytes("UTF-8"); for (byte b : bytes) { System.out.print(String.format("%02X ", b)); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }
- 使用
StringBuilder
或StringBuffer
来创建和操作包含多字节Unicode字符的字符串:
public class Main { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); sb.appendCodePoint(0x4F60); // 你 sb.appendCodePoint(0x597D); // 好 System.out.println(sb.toString()); } }
总之,Java内置了对Unicode的支持,因此处理多字节Unicode字符非常简单。只需确保在处理字符串时使用正确的编码(如UTF-8)即可。