Các câu trả lời khác ở đây hoặc chỉ hỗ trợ unicode tối đa U + FFFF (các câu trả lời chỉ liên quan đến một trường hợp của char) hoặc không cho biết cách truy cập biểu tượng thực tế (các câu trả lời dừng lại ở Character.toChars () hoặc sử dụng phương pháp không chính xác sau đó), vì vậy thêm câu trả lời của tôi ở đây.
Để hỗ trợ điểm mã bổ sung, đây là những gì cần phải làm:
// this character:
// http://www.isthisthingon.org/unicode/index.php?page=1F&subpage=4&glyph=1F495
// using code points here, not U+n notation
// for equivalence with U+n, below would be 0xnnnn
int codePoint = 128149;
// converting to char[] pair
char[] charPair = Character.toChars(codePoint);
// and to String, containing the character we want
String symbol = new String(charPair);
// we now have str with the desired character as the first item
// confirm that we indeed have character with code point 128149
System.out.println("First code point: " + symbol.codePointAt(0));
Tôi cũng đã thực hiện một bài kiểm tra nhanh xem phương pháp chuyển đổi nào hoạt động và phương pháp nào không
int codePoint = 128149;
char[] charPair = Character.toChars(codePoint);
String str = new String(charPair, 0, 2);
System.out.println("First code point: " + str.codePointAt(0)); // 128149, worked
String str2 = charPair.toString();
System.out.println("Second code point: " + str2.codePointAt(0)); // 91, didn't work
String str3 = new String(charPair);
System.out.println("Third code point: " + str3.codePointAt(0)); // 128149, worked
String str4 = String.valueOf(codePoint);
System.out.println("Fourth code point: " + str4.codePointAt(0)); // 49, didn't work
String str5 = new String(new int[] {codePoint}, 0, 1);
System.out.println("Fifth code point: " + str5.codePointAt(0)); // 128149, worked