温馨提示×

温馨提示×

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

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

java Unicode统一码怎么转

发布时间:2026-10-27 22:13:13 来源:亿速云 阅读:92 作者:小樊 栏目:编程语言

在 Java 里,“Unicode 统一码转换”通常有以下几种常见场景,我分别说明:


一、字符串 ↔ Unicode 转义(\uXXXX)

1️⃣ 字符串转 Unicode 转义

public static String toUnicode(String str) {
    StringBuilder sb = new StringBuilder();
    for (char c : str.toCharArray()) {
        sb.append("\\u")
          .append(String.format("%04x", (int) c));
    }
    return sb.toString();
}

// 示例
System.out.println(toUnicode("中")); // \u4e2d

2️⃣ Unicode 转义转字符串

public static String fromUnicode(String str) {
    return str.replaceAll("\\\\u([0-9a-fA-F]{4})", 
        m -> String.valueOf((char) Integer.parseInt(m.group(1), 16)));
}

// 示例
System.out.println(fromUnicode("\\u4e2d\\u6587")); // 中文

二、字符 ↔ Unicode 码点(int)

1️⃣ 字符转 Unicode 码点

char c = '中';
int codePoint = c;
System.out.println(codePoint); // 20013

或使用:

int code = "中".codePointAt(0);

2️⃣ 码点转字符

char c = (char) 20013;
System.out.println(c); // 中

三、不同编码之间的 Unicode 转换(UTF-8 / UTF-16)

字符串 → UTF-8 字节

byte[] utf8 = "中文".getBytes(StandardCharsets.UTF_8);

UTF-8 字节 → 字符串

String s = new String(utf8, StandardCharsets.UTF_8);

UTF-16

byte[] utf16 = "中文".getBytes(StandardCharsets.UTF_16);

四、Unicode 正规化(NFD / NFC)

用于字符标准化(如 é = e + ´):

import java.text.Normalizer;

String s = Normalizer.normalize("é", Normalizer.Form.NFC);

如果你指的是:

  • ✅ JSON 中的 \u
  • ✅ emoji( surrogate pair)
  • ✅ 文件编码转换
  • ✅ 网络传输编码

可以告诉我具体场景,我给你更精准的示例。

向AI问一下细节

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

AI
助
手