Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   изменение UTF-8 файла на лету (http://www.flasher.ru/forum/showthread.php?t=109493)

Dr.OH 15.03.2008 14:40

изменение UTF-8 файла на лету
 
Срочно нужна помощь - не пойму в чем дело. Задача: нужно прочитать файл через http (т.е. открыть сокет и считать выводимые данные) и добавить в файл одну строку.
В чем проблема: при считывании UTF-8 файла не удаётся туда ничего добавлять - в начале файла стоит какое-то число. Сначала думал, что это просто сингнатура UTF-файла, но оказалось, что нет. Число 21db. при его изменении меняется и размер выводимого файла, т.е. просто обрезается содержимое до непонятное величины. Если число поменять на FFh FEh (сигнатура UTF) то выводится 64 715 байт из 130 779.
Что это за число и на что его надо изменить, чтобы все работало?
Вариант типа все считать в строку, потом преобразовать в cp1251, а потом в utf-8 не подойдет, т.к., во-первых, в тексте есть UTF-8 символы, которые нет в CP1251, а, во-вторых, это загонный путь.

kotsie 16.03.2008 15:27

вы хотите изменить файл на удалённом сервере через http? не думаю, что сервер это даст.
UTF-8 не при чём. число, которое вы видите - это часть протокола http, я думаю у вас идёт transfer-method: chunked (или нечто похожее) весь файл разбивается на кусочки, в начале каждого кусочка пишется его длина. т.е. прочитав 21db, вы знаете сколько байт надо прочитать до конца куска. дальше, если я не ошибаюсь, будет длина следующего куска и т.д.


Часовой пояс GMT +4, время: 18:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.