バイト配列からメッセージを取得するロジックを実装しました。完全な長さのメッセージを取得できません
public getInfo(byte[] hi) {
type = ....
sequence = ....
int ack = ....
int lastbyte = ....;
int isUTF8byte = .....;
actual_msg += (char) hi[CHAR1];
actual_msg += (char) hi[CHAR2];
actual_msg += (char) hi[CHAR3];
actual_msg += (char) hi[CHAR4];
actual_msg += (char) hi[CHAR5];
}
問題はメッセージの最初の5文字だけです。つまり、バイト配列にHello How are you
が含まれている場合、出力はHello
となります。バイト配列はcharメッセージを持つ3番目から7番目のバイト(5バイト)を持ちます。
メッセージ内の残りの文字のロジックは、for
ループ内にある必要があります。現在、最初の5文字だけを読み込むロジックがあるためです。 0番目から2番目のバイトはすべてのメッセージセットで同じです。私の関心事は3〜7バイトだけです。
どうすれば実装できますか?
私はあなたがこのために探していると思う
ような何かをしたいですどのようにそれが "こんにちはどのようにあなた"を保持することを期待していますか? – bradimus
いいえ、私はサイズが7バイトではないことを意味します。バイト配列のフィールドは、charメッセージとして3バイト目から7バイト目までです。私は私の質問を編集しました。申し訳ありません。 – Mark023
まだ 'byte 'が足りないようです。 "こんにちはどのようになっているのか"を知るためには、3バイトから19バイトまでを使用する必要があります(正しくカウントしたと仮定します)。メッセージは7バイトに制限されていますか、それともデータが必要ですか? – bradimus