我有一个由1024个元素组成的字节数组。我想将其分解为不同的字符串私有成员(例如,前9个字节用于名称,接下来的12个字节用于用户ID等)。
在不必将整个字节数组转换为字符串,然后再使用子字符串方法的情况下,是否有办法直接将数组中的一系列字节转换为我的类的私有成员?
例如:
myObject.name = byteArr[0-9];
myObject.userId = byteArr[10-21];
我有一个由1024个元素组成的字节数组。我想将其分解为不同的字符串私有成员(例如,前9个字节用于名称,接下来的12个字节用于用户ID等)。
在不必将整个字节数组转换为字符串,然后再使用子字符串方法的情况下,是否有办法直接将数组中的一系列字节转换为我的类的私有成员?
例如:
myObject.name = byteArr[0-9];
myObject.userId = byteArr[10-21];
使用:
String myField = new String(myArray, start, end);
如果你想从开头开始,start
应该为0。
String
构造函数:public String(byte bytes[], int offset, int length, Charset charset)
例子:
myObject.name = new String(byteArr, 0, 10, Charset.defaultCharset())
请记住,Java 中的字节和字符是不同的类型,为了避免出现意外的结果,您应该使用 Charset
类来指定正确的转换。