我只是试图避免一些大型数组副本(byte[]数组)。
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在这方面的工作效果不太好。
谢谢,迪恩
发布于 2016-02-13 21:20:25
编写字符串编码的常用方法是CharsetEncoder。我相信这也符合这种情况:
encoder = StandardCharsets.ISO_8859_1.newEncoder();
ByteBuffer result = encoder.encode(CharBuffer.wrap(inputString));
// do whatever you want with result... https://stackoverflow.com/questions/35117558
复制相似问题