Новые книги

Эта книга содержит рекомендации и методы, основанные на научных исследованиях, экспериментах, опросах потребителей и статистики. Автор использует знания из математики, социальной психологии, меметики и других наук и объясняет, почему и, что еще важнее, каким образом следует адаптировать для достижения максимальных результатов свои стратегии интернет-маркетинга: ведение блога, присутствие в соцсетях, почтовый маркетинг и вебинары.

На русском языке публикуется впервые.
Какие процессы в мозгу заставляют нас выбирать конкретный продукт из ряда подобных? Почему одна реклама становится эффективной во всем мире, а другая, не менее масштабная, не работает? Современные исследования эволюции мозга и открытия нейробиологов позволили изменить традиционный для маркетинга подход, основанный на статистическом изучении потребностей и предпочтений покупателей. Инновационная методика, изложенная в книге, позволяет выявлять и учитывать подсознательные процессы, лежащие в основе наших поступков и задействованные в процессе принятия решений. Возможность заглянуть в подсознание потребителей открывает перед маркетингом новые гигантские перспективы.

pack



Учебник РНР
НазадВперёд

pack

(PHP 3, PHP 4)

pack - упаковывает данные в бинарную строку.

Описание

string pack (string format [, mixed args])

Упаковывает данные аргументы в бинарную строку в соответствии с форматом format. Возвращает бинарную строку с данными.

Идея этой функции была взята из Perl, и весь код форматирования работает аналогично, однако отсутствуют некоторые коды форматирования, такие как Perl'овский "u". Строка форматирования состоит из кодов форматирования и последующего необязательного аргумента повторения/repeater. Аргумент repeater может быть целочисленным или * для повторения до конца данных ввода. Для a, A, h, H повторение специфицирует, сколько символов аргумента data принимается, для @ это абсолютная позиция для размещения следующих данных, для других параметров повторение специфицирует, сколько аргументов данных употребляется и упаковывается в результирующую бинарную строку. В настоящее время реализованы:

  • строка с NUL-заполнением

  • строка со SPACE-заполнение

  • h Hex-строка, сначала нижний разряд

  • H Hex-строка, сначала высший разряд

  • c знаковый char

  • C беззнаковый char

  • s знаковый short (всегда 16 бит, машинный байтовый порядок)

  • S беззнаковый short (всегда 16 бит, машинный байтовый порядок)

  • n беззнаковый short (всегда 16 бит, байтовый порядок big endian)

  • v беззнаковый short (всегда 16 бит, байтовый порядок little endian)

  • i signed integer (машиннозависимый размер и байтовый порядок)

  • I беззнаковый integer (машиннозависимый размер и байтовый порядок)

  • l signed long (всегда 32 бита, машинный байтовый порядок)

  • L беззнаковый long (всегда 32 бита, машинный байтовый порядок)

  • N беззнаковый long (всегда 32 бита, байтовый порядок big endian)

  • V беззнаковый long (всегда 32 бита, байтовый порядок little endian)

  • f float (машиннозависимый размер и представление)

  • d double (машиннозависимый размер и представление)

  • x NUL байт

  • X обратно на один байт

  • @ NUL-заполнение до абсолютной позиции

Пример 1. Строка форматирования pack()
$binarydata = pack ("nvc*", 0x1234, 0x5678, 65, 66);

Результирующая бинарная строка имеет длину 6 байт и содержит байтовую последовательность 0x12, 0x34, 0x78, 0x56, 0x41, 0x42.

Обратите внимание, что отличие между знаковым и беззнаковым значением влияет только на функцию unpack(), а функция pack() даёт одинаковые результаты для знакового и беззнакового кода формата.

Отметьте также, что PHP внутренне хранит значения integer как знаковые значения машиннозависимого размера. Если вы задаёте значение как беззнаковое integer, слишком большое, чтобы хранить его таким способом, оно конвертируется во float, что часто приводит к непредсказуемым результатам.


Назад Оглавление Вперёд
leak Вверхshow_source