Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Кодировки текста, поддержка разных языков  (Прочитано 6871 раз)
0 Пользователей и 1 Гость смотрят эту тему.
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« : 03-12-2010 16:16 » 

Привет.
Эта тема для меня темный лес, не знаю, как разобраться, поэтому просьба сильно не ругаться, если что Улыбаюсь

В общем, мое приложение для своей работы загружает кое-какие ресурсы с винта.
Для этого я просто в обычном блокноте написал пути и имена к нужным файлам-ресурсам на английском языке, сохранил как простой текстовый файл в кодировке utf-8.
Мое приложение сначала загружает этот файл (пользуюсь CreateFile()), а затем, из файла читает (ReadFile) нужные данные, в том числе строковые, по которым грузит уже сами ресурсы в виде чисел и строк на английском языке.
Никакого юникода - в настройках Visual Studio в пункте Character Set я поставил Multi-Byte.

Теперь главное: как мне обеспечить, чтобы мое приложение работало во всех странах? Как я понимаю, английский есть на всех виндоусах для всех стран?

Все ресурсы хранятся в текстовых файлах в кодировке utf-8, для работы со строками использую char.

Вторая часть моего вопроса - можно ли использовать для этой части обычные однобайтовые символы, а для работы с разными языками (немецкий, франц. и т.д.) юникод-строки? (wchar_t и соответствующие ф-ии)?
Записан
darkelf
Молодой специалист

ro
Offline Offline

« Ответ #1 : 04-12-2010 15:48 » 

Скорее всего латиница есть везде, так-что об этом переживать, наверное, не стоит. Скорее может возникнуть проблема с шрифтами, в которых может не быть некоторых символов.
utf-8 это строковое представление unicode, разработанное так, что-бы не надо было переходить на 16-ти битные и 32-х битные символы (wchar_t). Если Вы не выполняете посимвольной обработки строк, представленных в utf-8, то, скорее всего, никаких дополнительных преобразований в wchar_t понадобиться не должно, имхо.
Записан
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 04-12-2010 17:09 » 

Благодарю.

А как насчет того, что у меня в исходниках есть несколько строковых констант (на английском) - в какой кодировке они будут "вшиты" в exeшник? И будут ли с этим какие либо проблемы?
Записан
darkelf
Молодой специалист

ro
Offline Offline

« Ответ #3 : 06-12-2010 06:48 » 

Для английского практически все кодировки, насколько я знаю, совпадают (что iso-8859-x, что ibm-8xx, что windows cp-xxxx, что utf-8). В принципе, совпадает даже utf-16, только символы представляются не 8-ми битными байтами, а 16-ти битными словами.
Записан
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 08-12-2010 13:54 » 

Спасибо!

Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines