# Einzelne Bits in einem Byte-Array setzen



## pfust (31. Mrz 2010)

Hallo,

Ich soll einen SNTP-Client schreiben, welcher über einen DatagramSocket ein DatagramPacket  an einen NTP Server schickt. 

Das SNTP-Protokoll hat folgenden Aufbau (einfachheitshalber nur die ersten 32 Bit):

Bit 0-1: LI
Bit 2-4: VN
Bit 5-7: Mode
Bit 8-15: Stratum
Bit 16-23: Poll
Bit 24-31: Precision

Diese Felder sollten entsprechend gesetzt werden (z.B. "Mode" mit '011', etc.).

DatagramPacket benötigt die zu übermittelnden Daten ja als Array vom Typ "byte".

Wie kann ich Bits in ein Byte-Array bzw. in die einzelnen Elemente des Byte-Arrays setzen, so dass das Protokoll korrekt über die Leitung geht?

Besten Dank!

Gruss,
Peter


----------



## Janus (31. Mrz 2010)

Bit Twiddling Hacks


----------



## Wildcard (31. Mrz 2010)

Du könntest auch auf einem BitSet arbeiten und dann vor dem Senden konvertieren (zum Beispiel so: Converting Between a BitSet and a Byte Array | Example Depot)


----------

