[英]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.