Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/26: Рейтинг темы: голосов - 26, средняя оценка - 4.69
Fimich

Utf8-Utf16 и назад. КАК?

13.03.2011, 02:11. Показов 5613. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: реализовать 2 функции, которые заданный файл будут перекодировать из Utf8/Utf16 в Utf8/Utf16.
bool UTF8toUTF16 (const char * src, const char * dst );
bool UTF16toUTF8 (const char * src, const char * dst );

Описание:
Для кодировки национальных знаков лучше использовать UNICODE. Например код А 65, знак Ž - 381. UNICODE резервирует знаки от 0 до 2^20 + 2^16. Такие числовые значения, конечно, не получится сохранить в 1 байт.

Исходный файл (src) только для чтения, конечный файл (dst) будет функцией переписан. Функция возвращает true, если перевод был проведен, в противном случае false. Ошибки:

при чтении, записи, создании файла;
неверное содержание файла (не UTF16/UTF8);
В UNICODE нет:
знаков, позиции которых равны или выше, чем 2^20 + 2^16 и
surrogate pairs (0xd800 - 0xdfff).
Остальные нормально.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2011, 02:11
Ответы с готовыми решениями:

Почему UTF16, а не UTF8
Почему внутри программы все популярнее становятся строки UTF16, тогда как формат обмена данными UTF8? Например, в python3, delphi XE2, XE3...

Конвертировать из UTF8 в UTF16(UCS2)
Приветствую,форумчане. Подскажите, пожалуйста, по вопросу конвертирования из UTF8 в UTF16. Есть ли встроенные функции в билдере? Потому что...

UTF16 LE в ANSI или UTF8
Доброго всем времени суток! Есть задача декодировать строку, закодированную через base64. Я точно знаю ,что в этой строке должен...

5
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
13.03.2011, 02:16
Fimich, это учебное задание, в чем смысл? системные функции полагаю использовать нельзя
0
Fimich
13.03.2011, 02:20
да, это первое задание при изучении С++.
смысл: чтение файла (от 100 страниц и выше), перевод, сохранение.
вроде бы и не сложно. Алгоритмы перевода известны и описаны в Википедии. Но как это сохранять. Т.е. с точки зрения программирования не понятно
 Аватар для malor
48 / 44 / 3
Регистрация: 02.07.2007
Сообщений: 2,571
20.09.2011, 20:22
А где, собственно, функции?
0
 Аватар для Виктор_Сен
36 / 29 / 2
Регистрация: 01.08.2011
Сообщений: 176
20.09.2011, 21:07
Я как раз тоже с кодировками разбираюсь, только мне нужен перевод ANSI/Unicode и наоборот. Нашёл функции MultiByteToWideChar и WideCharToMultiByte вот ссылки: http://msdn.microsoft.com/en-u... 19072.aspx и http://msdn.microsoft.com/en-u... S.85).aspx. Они работают и с ANSI и с UTF8/16. Только с использованим возникла проблема, ошибка, не помню, какая. Наверно параметры не так задал. Там на английском, а с английским у меня плохо.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.09.2011, 11:04
Цитата Сообщение от Fimich
Но как это сохранять. Т.е. с точки зрения программирования не понятно
открываешь файл, читаешь побайтово
следовательно, открываешь в двоичном режиме
каждая функция по-разному читает
utf-8 в utf-16 читает по одному байту
utf-16 в utf-8 читает по два байта
utf-8 в ascii
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2011, 11:04
Помогаю со студенческими работами здесь

Unix Time | Вчера, 2 дня назад, 4 недели назад, 2 месяца назад
Здравствуйте, я профессиональный нуб в PHP. Прошу помочь с решением вывода даты в PHP. У меня имеется MySQL таблица, в которой хранится...

Как используя js вывести на экран дату публикации. по типу, опубликовано сегодня, час назад , день назад
Всем привет! Подскажите пожалуйста, как реализовать вывод дату публикации , которая будет меняться с каждым разом что-то типа (опубликовано...

Конвертировать из hex в utf16
Есть текст в hex как его перевести в читабельный вид ...

Decoder из utf16 в текст с удалением \u
Доброго времени. Не знаю как объяснить, но вообщем нужен декодер текста из utf16 в читаемый текст. Возможно где то если в свободном доступе...

Нажатие кнопки назад сворачивает прогу а не переходит назад
Собсно дело в сабже Переходя на новое активити интентом, я бы хотел порождать новый стэк, и нажимая кнопку назад, возвращаться в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru