çalışmıyor takın. Eski sistem, küçük bir endian bayt sırası kullanıyor. Alıcı kısmı başarıyla uygulamam ancak gönderim çalışmıyor. [0, 0, 0, 88]ByteBuffer Little Endian ben eski sistemi ve bir android cihaz arasında iki yönlü iletişimi yapmak zorunda
ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.BIG_ENDIAN);
byteBuffer = ByteBuffer.allocate(4);
byteBuffer.putInt(88);
byte[] result = byteBuffer.array();
Ayrıca sonuçları: Benim için o (ben pek inanabiliriz)
ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
byteBuffer = ByteBuffer.allocate(4);
byteBuffer.putInt(88);
byte[] result = byteBuffer.array();
Sonuçları ByteBuffer sınıf arızaları gibi görünüyor, çünkü
Garip aynı: [0, 0, 0, 88]
değilim Ancak eğer yanlış little endian sipariş dönmelidir: [88, 0 , 0, 0]
yüzden özlüyorum ne anlamı var?
Belki OP 'ByteBuffer.order' tüm' ByteBuffer's etkileyen küresel değişiklik yapar bu yanlış anlaşılmayı vardır? –
Buna inanamıyorum ama görmedim. İkinci başlatma, kasıtlı değildi. Biraz uyumaya ihtiyacım var. Yine de teşekkürler, – Sandor
Aynı sonucu elde etmek için sebep ne olabilir? [88, 0, 0, 0] [88, 0, 0, 0] ', Android 4.2.2'de Eclipse'de bir testte çıktı olarak ?? – GoRoS