在 Java 里,“Unicode 统一码转换”通常有以下几种常见场景,我分别说明:
\uXXXX)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
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")); // 中文
char c = '中';
int codePoint = c;
System.out.println(codePoint); // 20013
或使用:
int code = "中".codePointAt(0);
char c = (char) 20013;
System.out.println(c); // 中
byte[] utf8 = "中文".getBytes(StandardCharsets.UTF_8);
String s = new String(utf8, StandardCharsets.UTF_8);
byte[] utf16 = "中文".getBytes(StandardCharsets.UTF_16);
用于字符标准化(如 é = e + ´):
import java.text.Normalizer;
String s = Normalizer.normalize("é", Normalizer.Form.NFC);
如果你指的是:
\u可以告诉我具体场景,我给你更精准的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。