我正在尝试遍历一个 Text
并打印其内容。这是我尝试的代码:
Text text = new Text();
text.set("Hadoop");
ByteBuffer buf = ByteBuffer.wrap(text.getBytes(),0,text.getLength());
int cp = 0;
while(buf.hasRemaining() && (cp = Text.bytesToCodePoint(buf)) != 1)
System.out.println(Integer.toHexString(cp));
这是给我打印代码点。如何打印这些字符?
编辑
对于输入“hadoop”,将 int cp
到 char
在你的while循环中工作。但是,当文本是 \u0041\u00DF\u6771\uD801\uDC00
然后用同样的代码我得到一个 couple of ?
打印在控制台上。有什么具体的原因吗?请建议。
1条答案
按热度按时间4zcjmb1e1#
我想对你来说最简单的方法就是
ints
至chars
. 像这样:我的输出是: