首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ByteArrayOutputStream与CharBuffer的CharSet之争

ByteArrayOutputStream与CharBuffer的CharSet之争
EN

Stack Overflow用户
提问于 2016-01-31 18:23:10
回答 1查看 158关注 0票数 1

我只是试图避免一些大型数组副本(byte[]数组)。

代码语言:javascript
复制
I have a String of size n
I have a byte[] of size m

我使用ISO-8859-1作为字符串.我非常想将字符串写到字节到这个数组中的十个-1位置,然后对于byte[],我只需要将字节写到数组中。

在查看ByteArrayOutputStream时,它是同步的,这是我不需要的,而查看byteBuffer.asCharBuffer(),我似乎不能提供我希望总是显式的CharSet。

如何才能达到上述目标?

另外,我刚刚发现byteBuffer.asCharBuffer错误地假设每个字符占用两个字节,这对于ascii或ISO-8859-1来说不是这样,因此CharBuffer在这方面的工作效果不太好。

谢谢,迪恩

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-13 21:20:25

编写字符串编码的常用方法是CharsetEncoder。我相信这也符合这种情况:

代码语言:javascript
复制
encoder = StandardCharsets.ISO_8859_1.newEncoder();
ByteBuffer result = encoder.encode(CharBuffer.wrap(inputString));
// do whatever you want with result... 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35117558

复制
相关文章

相似问题

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