温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java Unicode统一码怎么用

发布时间:2026-08-07 15:27:05 来源:亿速云 阅读:88 作者:小樊 栏目:编程语言

在 Java 里,Unicode(统一码)可以理解为:Java 的字符串、字符、源码本身,默认就是基于 Unicode 的。下面从概念 + 常见用法 + 示例给你一个清晰说明。


一、Java 和 Unicode 的关系(先理解这个)

Java 内部使用 UTF-16 表示字符
char 类型 = 16 位 Unicode 编码单元
String 本质是 Unicode 字符序列
✅ Java 源码文件默认支持 Unicode(推荐 UTF-8)


二、最常见的几种用法

1️⃣ 直接使用 Unicode 字符(推荐)

public class Demo {
    public static void main(String[] args) {
        String s = "你好,世界!";
        System.out.println(s);
    }
}

这是最标准的用法
✅ 只要文件编码是 UTF-8,就没问题


2️⃣ 使用 Unicode 转义 \uXXXX

Unicode 转义格式:

\u + 4位十六进制

示例:

public class Demo {
    public static void main(String[] args) {
        String s = "\u4F60\u597D"; // 你好
        System.out.println(s);
    }
}
字符 Unicode
\u4F60
\u597D

✅ 适合:

  • 配置文件
  • 注释中避免乱码
  • 某些特殊字符无法输入时

⚠️ 不推荐大量用在业务代码里(可读性差)


3️⃣ char 和 Unicode

char c = 'A';         // 普通字符
char c2 = '\u0041';   // 也是 A
System.out.println(c == c2); // true

Unicode 范围:

  • \u0000\uFFFF(基本多文种平面)

4️⃣ 判断字符类型(Unicode 属性)

char c = '中';

System.out.println(Character.isLetter(c));     // true
System.out.println(Character.isDigit(c));      // false
System.out.println(Character.isWhitespace(c)); // false

✅ Java 的 Character 类就是基于 Unicode 标准的


5️⃣ Unicode 与编码转换(进阶)

字符串 → UTF-8 字节

String s = "你好";
byte[] bytes = s.getBytes("UTF-8");

UTF-8 字节 → 字符串

String s2 = new String(bytes, "UTF-8");

⚠️ 不写编码时,用的是系统默认编码,容易出问题

✅ 推荐始终显式写 "UTF-8"


三、常见误区

❌ 误区 1:Java 用 UTF-8 存 char

✅ 实际是 UTF-16

❌ 误区 2:Unicode = UTF-8

  • Unicode:字符集(编号)
  • UTF-8 / UTF-16:编码方式

Java 内部是 UTF-16,外部常用 UTF-8


四、实用速查表

场景 推荐方式
写中文/日文/表情 直接写
源码不能写中文 \uXXXX
网络/文件传输 UTF-8
判断字符类型 Character
转字节 getBytes("UTF-8")

五、一个完整示例

public class UnicodeDemo {
    public static void main(String[] args) throws Exception {
        String s = "Java 统一码 \u2714";
        System.out.println(s);

        byte[] utf8 = s.getBytes("UTF-8");
        String back = new String(utf8, "UTF-8");
        System.out.println(back);
    }
}

如果你愿意,我可以:

  • 给你讲 Unicode 平面 / 表情符号(emoji)
  • 解释 为什么 char 不够表示所有 Unicode
  • 结合 文件 / 网络 / 数据库 讲编码实战

你可以直接说你用在哪(比如:Web、Android、文件解析)。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI