Страница: 1 |
Страница: 1 |
Вопрос: VB 6 и XML. Кодировка UTF-8
Добавлено: 31.08.06 15:59
Автор вопроса: _ICE_ | ICQ: 354-671-214
Нужен алгоритм корректного чтения и записи файла в кодировке UTF-8. Если взять режим доступа к файлу Binary, считать строку и вернуть ее обратно в файл, то кодировка нарушается и в файле вместо русских символов - каша.
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #1
Добавлено: 31.08.06 16:08
А нехрен его открывать как Binary. Для этого есть msxml. Там тебе и парсер, и reader, и writer.
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 01.09.06 11:46
а какая разница, все равно строки будут в utf кодировке, или нет?
Номер ответа: 3
Автор ответа:
_ICE_
ICQ: 354-671-214
Вопросов: 18
Ответов: 103
Профиль | | #3
Добавлено: 01.09.06 15:36
Я уже и сам это понял, все что мне нужно реализовал через C#. Но вообще-то просто чисто спортивный интерес. Нашел код, который якобы преобразует строку к UTF-8, да только он нифига не работает. Я почему-то предполагал, что Binary он и в Африке Binary, какая ему разница - считал байт, записал байт и всего делов, если в русский текст не лезть, то будет все пучком. Оказалось нет. Видимо здесь проблемма даже не в бинари, а в Character - он перекручивает загруженные байты.
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 02.09.06 02:47
должно быть все пучком, бинари доступ ни коим образом не меняет содержимого!
причем C#, VB6 все прекрасно работает
Номер ответа: 5
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #5
Добавлено: 02.09.06 07:36
Проверил. Все работает на VB, C++,C#,Делфи. Бинари рулит.
Номер ответа: 6
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #6
Добавлено: 02.09.06 07:40
Кстати ГДЕ ТУТ КНОПКА ПРАВКА LOL тоже прав,msxml.dll видимо то что тебе надо.
Номер ответа: 7
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #7
Добавлено: 03.09.06 14:49
Открыть, прочитать, сконвертить в памяти в ANSI, работать.
Если я всё правильно понял, то функция API WideCharToMultiByte должна
помочь.
Номер ответа: 8
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #8
Добавлено: 04.09.06 10:55
Для танкистов снова повторяю: юзаем msxml. Ничего не конвертим. Ничего в Binary не открываем. Никаких С# не используем. Если совсем непонятно - жмем F1. Всё.