Разные кодировки

Assembler programming questions
  • Поддерживаю mike.dld - дофига было опыта и мучений при создании / переносе всяких сайтов, гостевых, и прочего, утф8 рулит. Однако camper тож прав - у пользователей винды файлы поименованы в win1251, а у пингвинятников - скорее всего в koi8.
  • В UTF-8 переменная длина символов. Это усложняет работу со строками. И неясно как забивать UTF строки в Фасме. Проще сделать обычный Юникод.
  • Serge wrote:В UTF-8 переменная длина символов. Это усложняет работу со строками. И неясно как забивать UTF строки в Фасме. Проще сделать обычный Юникод.
    utf8 хорош как формат обмена - из-за совместимости с ascii.

    и его нетрудно конвертить в utf16 внутри программы.
  • В UTF16 вообще-то тоже переменная длина символов, спасибо комитету Unicode за суррогатные пары.
    Сделаем мир лучше!
  • Тоже правда. Впрочем, масса народу на них кладёт без зазрения совести. Если хочется совсем уж красоты - никто не мешает 32 бита на символ потратить - с точки зрения производительности даже хорошо. :) Промежуточный вариант - грузить utf8 в 16, а если встретишь пару - ругаться и отказываться такой файл читать.
  • Если есть стремление к экономии памяти и одновременно к гибкости, то для внутриядерных сущностей можно использовать UCS-2 -- тот же UTF16, но без суррогатных пар. Для всяких там имён устройств, задач и т.д. и т.п. большего и не надо. Ну а уж в прикладных программах, занятых обработкой данных (типа текстовых редакторов) надо поддерживать полноценный Юникод. Учитывая, что даже на самом древнем из более-менее доступных ПК памяти завались (сотни мегабайт как минимум), для внутреннего представления в них можно использовать 32-разрядную кодировку. Впрочем, его же можно использовать и в ядре, ведь и здесь память -- не слишком острый вопрос. Ну а применять, например, UTF8 для обработки -- ИМХО, слишком неудобно, да и медленно.

    Пы.Сы. У себя в ядре я использую UCS-2, но на МК память -- куда более дефицитный ресурс, её может быть всего пару-тройку десятков килобайт ОЗУ (ну, плюс флэш-ПЗУ для кода, но оно в данном случае не в счёт).
  • Who is online

    Users browsing this forum: No registered users and 2 guests