2017-02-01 8 views
0

私はしばらくの間、netty 4.0を使用していて、4.1に移行しています。 レガシーな理由から、我々は小さなエンディアンでメッセージを受け取り、近い将来に大きなエンディアンに移行することはできません。netty 4.1 ByteBufエンディアンにアクセスするバイト

以前は「ByteBuf.order(ByteOrder endianness)」メソッドを使用して、リトルエンディアンでバイトにアクセスするようにしました。 このメソッドは非推奨になり、javadocは指定されたメソッドの適切なリトルエンディアンバージョンを使用することを提案します。 getIntの代わりにgetIntLeと同じです。

これは、提供された代替方法を使用したこれらの方法ではすべて問題ありません。 しかし、私はまた、getBytes(...)メソッドを通して生のバイトにアクセスする必要があります。

私はエンディアンの経験はほとんどありませんが、逆の順序であれば私がバイトにアクセスすると私は何を読みましたか。

私の質問によれば、Netty 4.1は、小さなエンディアンのためにByteBufのバイトにアクセスする方法や、コンテンツの順序を変更する方法が異なりますか?事前

答えて

1

おかげByteBuffer.order(...)を用いた場合であっても、直接バイトにアクセスする際に何ら変わりはありません。したがって、getBytes(...)を使用してください。

+0

とてもシンプルなものの1つは、顔の中であなたを叩くことです。リファクタリングの途中でそれを見つけました。ありがとう! – Rhed

関連する問題