繁体   English   中英

Java:将固定大小的字节数组转换为可变长度的字符串

[英]Java: Converting fixed size byte array to a variable length String

有没有一种方法可以将固定大小的字节数组转换为字符串,而无需遍历字节数组来查找字符串的结尾? 我遇到的问题是,并非字节数组中的所有字节都是字符。 我用0填充数组的末尾。 如果我使用new String(byte[]) ,它将0解释为字符串的一部分。 我可以用某个特定的字符填充byte []而不将其解释为String的一部分吗?

否,因为所有字节值都是字符串中的有效字符。 您必须跟踪有效字节的计数,并使用构造函数的byte[], int, int版本。

如果您不想手动跟踪计数(也许是因为您是逐个构建字节数组),请考虑使用ByteArrayOutputStream

有一个String构造函数,它接受一个byte[] ,一个开始偏移量和一个长度作为参数-仅使用它来告诉String包括哪些字节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM