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