Порядок байтов: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
Oleg4280 (обсуждение | вклад) оформление |
Gromolyak (обсуждение | вклад) Метки: с мобильного устройства через мобильное приложение через приложение для Android |
||
Строка 92:
== Проблемы совместимости и конвертация ==
Запись многобайтового числа из памяти компьютера в файл или передача по сети требует соблюдения соглашений о том, какой из байтов передается первым. Прямая запись в том порядке, в котором байты расположены в ячейках памяти, приводит к проблемам при переносе приложения с платформы на платформу.
Для преобразования между сетевым порядком байтов ({{lang-en|network byte order}}), который всегда big-endian, и порядком байтов, использующимся на машине ({{lang-en|host byte order}}), стандарт [[POSIX]] предусматривает функции <code>htonl()</code>, <code>htons()</code>, <code>ntohl()</code>, <code>ntohs()</code>:
Строка 100:
* <code>uint16_t ntohs(uint16_t netshort);</code> — конвертирует 16-битную беззнаковую величину из сетевого порядка байтов в локальный.
В случае совпадения текущего порядка байтов и сетевого
Существует много языков и библиотек со средствами конвертации в оба основных порядка байт и обратно.
|