gpt4 book ai didi

java - 在 Java 中将 int(字节)转换为单字符字符串的最简单方法

转载 作者:行者123 更新时间:2023-11-29 07:00:44 24 4
gpt4 key购买 nike

我有一个代表有效 UTF-8 字符的 int (-> byte),我想在 System.out.println 中打印这个单个字符。

我知道这两种将表示 UTF-8 字节的 int 转换为单字符字符串的方法:

int myByte = ...; // For example 67

String sMyByte = String.valueOf((char)((byte)myByte & 0xFF)); // 67 will become "C"

String sMyByte = new String(new byte[]{ (byte)myByte }, StandardCharsets.UTF_8); // 67 will become "C"

两者似乎都有点长/不可读,我想知道是否有更简单的方法将表示 UTF-8 字节的 int 转换为单字符字符串。如果没有,我可能会使用上面两个中的第一个。

最佳答案

你不应该调用你的 int myByte;它实际上是一个 Unicode 代码点。

最简单的方法是使用 Character.toChars():

final String s = new String(Character.toChars(theCodePoint));

它将处理每个代码点;之后就看你使用的字体有没有这个码位的字形了!

另请注意,UTF-8 是一种字符编码。事实上,您没有 UTF-8 字符这样的东西。

如需进一步查询,您想查看 CharsetEncoderCharsetDecoder类。

关于java - 在 Java 中将 int(字节)转换为单字符字符串的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26583729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com