Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Всем доброго врмени суток...
У меня ужасно простой вопрос... но я что-то больно долго пытаюсь найти на него ответ
Какая функция возвращает количество байт которые весит конкретная переменная...
т.е. есть у меня $SomeText как мне узнать сколько в переменной байт
...И... Какая функция возвращает количество byte содержащихся в переменной.
Две разные вещи!
Лично я понял, что вам нужна функция, которая возвращает количество byte занимаемых переменной в памяти.
Garrett, а я сам еще не понял точно, вернее кгда задавал вопрос вроде был уверен, а теперь уже не очень :whistle:
Суть в том, что я пытаюсь собрать вручную некий POST-запрос... один из необходимых хидеров - Content-Length: (суммарный объём включая дочерние заголовки) так написано в стандарте...
Этот самый Content я собираю вручную в переменной
И вот *** его знает, что они имели в виду, что им надо... байты в памяти, байты - символы в тексте я запутался...
одичал, т.к. :
возвращают одно и то-же...
Хотя такой-же КОРЕКТНЫЙ запрос сформированный браузером кажет в этом хидере вобще загадочное число... как он его просчитал мне не ясно...
PS: Я пытюсь симитировать POST-запрос загрузки файла на веб-сервер.
вот такая загагулина я уже понял что где-то неправильно собираю (вот она динамическая типизация )...
Если данные собраны правильно, то для некоего файла test.xls
Content-Lenth составляет 65232 ; это я выяснил снифером стырив работающий запрос браузера
Вот я открываю сей файл в Force binary mode, и смотрю что у меня там вышло ?
И получаю очень хороший результат - 65024
Нехватает мало по малу дочерних заголовков с "баундерами"
давайте слепим, а так-же сформируем наш конЭЦ.. согласно спецификации стандарта multipart хвост имеет специальную последовательность после баундера "--"
И... не буду утомлять перечислениями...
немого интересного
Пока $FileBytes ни с чем не объединять, его StringLen() и BinaryLen() - совершенно разные числа 130050 и 65024 соотвественно
Как только я пытаюсь объеденить что ни будь с $FileBytes - его его StringLen() и BinaryLen() становятся одним и тем-же и составляют более 130050 что заведомо неверный результат...
КАК МНЕ СФОРМИРОВАННЫЕ СТРОКИ ПРЕВРАТИТЬ В БАЙТЫ и ВСЕ ЭТО СОЕДЕНИТЬ ????
я уже готов отчаяться и взять другой инструмент, где строгая типизация решит хотябы эту проблему.
...
The multipart delimiters and header fields are always 7-bit ASCII in any case, and data within the body parts can be encoded on a part-by-part basis,
...
если я правильно понял для доч.заголовков и "делемитеров" они-же "баундеры" (разделители)
всегда кодировкадолжна соответствовать 7-bit ASCII ??? и... все... я пошел курить (тетий день подряд, одну за одной :blink:
А существут ли возможность считать байты памяти которые выделены под переменную, вроде как я считывал байты файла открыв его в Force binary mode ?
________________________
И немножко о ситуации:
Я поднял свой веб-сервер на node.js //
он обладает функционалом загрузки файлов присланных в формате POST-запроса Multipart
(такой-же формат используется при передаче E-Mail, фактически он априори стандарт для передачи файлов по http), с одним лишь интересным моментом, node.js это технологи асинхронной обработки запросов... подключения типа keep-alive...
Запрос долже содержать свое Body в виде Binary, но не всё его тело состоит из байтов файла... в нем еще должным быть дочерние заголовки необходимые парсеру для интерпритации контента.
Все браузеры отлично справляюся с формированием таких запросов, все работает сервер принемает без нареканий, но API-браузеров не дает возможности подавать ему файл програмно (это мера безопасности, т.е. такой запрос формируется только если юзверь сам выбрал файл, иначе нарушается принцип "песочницы")
Я задался задачей симитировать такой запрос... изучил его стуктуру... но никак не могу его собрать
PS:
Во вложении некий файл "test.jpg" (картинка просто как пример, буду грузить файлы xls)
при правилной сборке запроса его вес 23575 байт.
сам файл весит 23334 байт т.е. 241 байт составляют дочерние заголовки