2012-12-06 5 views
0

Я отправляю длинный длинный массив байтов с другим материалом на сервер Java. Когда я конвертирую длинную спину в конец java, это не то, что я ожидаю. Я тестировал java-конвертер, но я ObjectiveC. Я думал, что с ним низкий уровень будет таким же простым, как это.long long to byte array

uint8_t *data = alloca(sizeof(longlong)); 
memcpy(&data[sizeof(Byte)+1],&theLong,sizeof(long long)); 

Является ли это правильным или я ошибаюсь?

+0

порядка байт могут быть? – Pubby

+0

может быть полезным, вероятно: http://stackoverflow.com/questions/362384/are-integers-in-java-little-endian-or-big-endian – lupatus

+0

Вместо того, чтобы делать alloca, я просто возьму '& 'длинного длинного и отбросить его к указателю байта, чтобы получить доступ к байтам. Нет необходимости в распределении/удалении кучи. Или сделайте регулярный сдвиг/маску, чтобы получить байты. –

ответ