将Unicode转换为UTF-8 byte []并保存为字符串(Java)

时间:2014-09-29 12:27:36

标签: java unicode utf-8

我需要将字符unicode转换为byte []表示并保存到Srting中,例如

U+1F601 -> \xF0\x9F\x98\x81

我不知道我怎么能这样做.. 有人有想法吗?谢谢

1 个答案:

答案 0 :(得分:1)

int[] codepoints = { 0x1F601 }; // U+1F601
String s = new String(codepoints, 0, codepoints.length);
byte[] bytes = s.getBytes(StandardCharsets.UTF_8); // As UTF-8 (Unicode) bytes
System.out.println(Arrays.toString(bytes));

因此,首先将Unicode代码点放入java String中。 Java字符串包含Unicode。 当需要字节时,比如UTF-8(Unicode表示),那么必须指出字节所在的CharSet。