gpt4 book ai didi

java - InputStreamReader 应该与appendCodePoint 一起使用吗?

转载 作者:行者123 更新时间:2023-12-01 14:03:44 26 4
gpt4 key购买 nike

Java 中的常见模式是使用 InputStreamReader 从文件中读取字符并将其附加到 StringBuilder;最明显的方法是:

int c = reader.read();
sb.append((char)c);

但是,假设该文件(假设我们指定了 UTF-8 编码,如果它有所不同)包含一个不适合 16 位的字符(严格来说是一个代码点)。读取器会将其作为单个 32 位代码点而不是一对 16 位字符返回吗?

如果是这样,上面的最后一行实际上应该是这样的:

sb.appendCodePoint(c);

是否有已知的测试用例(UTF-8 字节序列)可以区分这两个选项?

最佳答案

正如 Javadoc 所说,Reader 将其能够将下一段输入作为单个字符返回。唯一的异常(exception)是 EOS 指标,它的 int 值为 -1。 您的建议没有依据。

关于java - InputStreamReader 应该与appendCodePoint 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108336/

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