| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Формирование пакета бинарных данных. |
| Автор: Coder 26.9.2008, 06:04 |
| 1. Как сформировать пакет с бинарными данными в памяти? 2. Закодировать его Base64. 3. Отправить клиенту. У меня есть структура: { char *name; int x; int y; } Параметры name, x, y я получаю из БД. Как мне их записать в буфер без преобразования чисел (x,y) в строку? |
| Автор: skyboy 26.9.2008, 08:45 |
ну, это ж Си-шный код. разделом точно не ошибся? и в какой буфер ты собираешься их запихивать? |
| Автор: Coder 26.9.2008, 08:54 |
Нет, это всего лишь пример типизации, которая мне нужна. В этом и вопрос. Можно ли создать средствами PHP такой буфер в который бы помещались значения чисел, а не их строковые эквиваленты. Если у меня есть число типа int - 51234. Мне нужно чтобы оно записалось в этот буфер как 0x22c80000, а не как строка "51234". |
| Автор: MoLeX 26.9.2008, 09:46 |
| нет такого... Добавлено через 26 секунд 100% не уверен, но еще не встречал не где |
| Автор: Coder 26.9.2008, 11:52 |
| Ладно, будем искать другие пути... |
| Автор: Diabolus 27.9.2008, 02:32 |
| О стандартных не слышал, но что мешает использовать dechex(), после чего объединять два байта в один, а далее - chr()? Хотя, это только для отдельных числовых строк. Если знаешь размерность переменных, то можно просто слепить их все вместе, а потом таким же образом разлепить. Если знаешь асм, то вспомни, как там идёт работа со структурами. Возможно, поможет :) В сях просто всё не так наглядно. |
| Автор: Coder 28.9.2008, 12:57 |
| Diabolus, ну это же все равно строки будут. |
| Автор: Sunvas 28.9.2008, 16:23 |
А как ты клиенту собираешься это отдавать? - Только в виде строки. |
| Автор: BrainWorker 28.9.2008, 21:00 |
| http://ru.php.net/manual/en/function.serialize.php http://ru.php.net/manual/en/function.unserialize.php |
| Автор: nerezus 28.9.2008, 21:56 | ||
|
| Автор: bobik02 28.9.2008, 22:04 |
| Разрешите поинтересоваться зачем это Вам нужно ? |
| Автор: Coder 29.9.2008, 05:05 | ||||
Да, но уже после кодировки бинарных данных (из буфера) алгоритмом base64. Добавлено через 2 минуты и 10 секунд
Хочу использовать apache+php для своих нужд (в общем это будет не web сервер). |