Ich versuche eine protobuff codierte Nachricht zu dekodieren, also muss ich das erste Byte (den Schlüssel) in der Protobuff Nachricht in Bits konvertieren, damit ich die Feldnummer finden kann. Wie konvertiere ich ein UInt8 (das Byte) in ein Array von Bits?Swift - Konvertiere UInt8 Byte in Array von Bits
Pseudo-Code
private func findFieldNum(from byte: UInt8) -> Int {
//Byte is 0001 1010
var fieldNumBits = byte[1] ++ byte[2] ++ byte[3] ++ byte[4] //concatentates bits to get 0011
getFieldNum(from: fieldNumBits) //Converts 0011 to field number, 2^1 + 2^0 = 3
}
Ich sah this question, die eine Reihe von Bits in Array von Bytes umwandelt.
Haben Sie ein Byte als hexadezimale zu schreiben oder ist es möglich, sie als binäre wie 00.011.010 zu schreiben? – Amanda
Sie können mit dem Suffix '0b' binär schreiben. z.B. '0b10001111' – mohak