首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将字节数组解码为codePoint

如何将字节数组解码为codePoint
EN

Stack Overflow用户
提问于 2019-08-15 12:53:33
回答 1查看 469关注 0票数 1

Java解码器提供了很容易将byte[]解码为chars[]的方法,但众所周知,UTF8字符可以由多个java字符组成。

由于java中的API开始使用int codePoint作为替代,但似乎缺少将字节解码为codePoints的功能。

我的目标是将给定偏移量处的字节解码为 codePoint,而不创建像ArrayBuffer这样的中间对象。

有什么有效的方法来实现这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-15 14:41:35

是的,Java本身为您提供了这个工具。查看类Character、方法公共静态int codePointAt(char[] a,int索引) (及其重载版本),它们应该对您有帮助。此外,当我处理字符集相关的问题时,我发现使用一个将字符串转换为Unicodes序列的实用程序非常有用,反之亦然。

代码语言:javascript
复制
result = "Hello World";
result = StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence(result);
System.out.println(result);
result = StringUnicodeEncoderDecoder.decodeUnicodeSequenceToString(result);
System.out.println(result);

此代码的输出是:

代码语言:javascript
复制
\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064
Hello World

包含此实用程序的库名为MgntUtils,可以在Maven CentralGithub中找到,它以maven工件的形式出现,并带有源和javadoc。下面是类StringUnicodeEncoderDecoder的javadoc。下面是描述MgntUtils开源库的文章的链接:带有堆栈跟踪过滤、沉默字符串解析Unicode转换器和版本比较的开源Java库

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57509967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档