Мне интересно, существует ли объект C, эквивалентный методу BitConverter.GetBytes() .Net.Objective C BitConverter Equivalent
Например, в C#, можно написать что-то вроде этого:
байт [] lengthPrefix = BitConverter.GetBytes (message.length);
Что было бы эквивалентом в Objective C?
Некоторые примеры кода были бы весьма признательны.
Заранее спасибо.
Вы берете адрес временного возвращаемого целого числа. Скомпилирует ли это? Он может быть в регистре ... 'Длина NSInteger = message.length; unsigned char * lengthPrefix = (unsigned char *) & length; ' –
+1 хотя и не очень хорошо работает (NSInteger == long), хотя я, вероятно, использовал бы sizeof на всякий случай в версии memcpy. –
В Foundation есть целый набор функций, чтобы делать байтовую привязку байтов, связанных с endian. http://developer.apple.com/mac/library/documentation/cocoa/reference/foundation/Miscellaneous/Foundation_Functions/Reference/reference.html#jumpTo_181 – JeremyP