Как преобразовать int в 32-разрядное число с прямым порядком байтов в Objective C? - PullRequest
1 голос
/ 21 апреля 2011

Я пытаюсь реализовать WebSocket handshake (76) в ObjC и не могу понять (как я новичок в C и ObjC), как я могу получить следующее:

  1. Списокitem
  2. У меня есть два числа

    155712099
    173347027
    
  3. Мне нужно преобразовать их в 32-битные числа с порядковым номером

  4. объединить их в строку
  5. и выразить полученную строку в ASCII

Помощь очень важна.

Ответы [ 2 ]

7 голосов
/ 21 апреля 2011

Поскольку вы используете iPhone SDK, у вас есть доступ к Core Foundation. Использование:

uint32_t myInt32Value = ...;
uint32_t myInt32AsABigEndianNumber = CFSwapInt32HostToBig(myInt32Value);
2 голосов
/ 21 апреля 2011

Objective-C основан на C и обычно имеет стандартную библиотеку C, поэтому вы можете использовать стандартную функцию htonl. Затем вы можете выполнять операции со строками, используя обычные строковые функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...