Java 在特定区域用混合类型填充字节数组
我想用以下结构填充一个字节数组。 [字符][数字]@@[字符串] 所以这个字符需要1个字节。对于两位数的数字,数字需要2个字节。然后是两个@和一个字符串 我的问题是,第二个信息,即数字,不是一位数就是两位数。 我创建了一个大小如下的字节数组:Java 在特定区域用混合类型填充字节数组,java,arrays,types,byte,mixed,Java,Arrays,Types,Byte,Mixed,我想用以下结构填充一个字节数组。 [字符][数字]@@[字符串] 所以这个字符需要1个字节。对于两位数的数字,数字需要2个字节。然后是两个@和一个字符串 我的问题是,第二个信息,即数字,不是一位数就是两位数。 我创建了一个大小如下的字节数组:message.getBytes().length+5 我想要的是,我可以用信息填充这个数组,并且知道消息总是从5位开始 我是这样开始的: byteArray[0] = 'm'; byteArray[1] = number; byteArray[2] = n
message.getBytes().length+5
我想要的是,我可以用信息填充这个数组,并且知道消息总是从5位开始
我是这样开始的:
byteArray[0] = 'm';
byteArray[1] = number;
byteArray[2] = number;
//here comes the problem. How should I check whenever its 1 or 2 digit integer and how do I save it?
整数应该总是需要2个字节才能保存,这样我才知道真正的消息从哪里开始。一个字符在Java中是两个字节。你从来没有告诉我们你是如何获得用户输入的,另外,当用户输入错误时,你希望发生什么?你想要字符串输出还是字节数组?这完全不是一回事;在第一种情况下,您需要的是
char[]
,而不是byte[]
。这样做的目的是什么?为什么要使用字节数组?我不确定使用字节数组是否是最好的方法,但我还不能确定。