Apollon, вы правы, моя фраза про cp1251 была некорректной, так как вы не упоминали эту кодировку. Я написал про нее лишь потому, что на текущий момент эта кодировка наиболее распространена в русскоязычном мастдае среди трех нативно поддерживаемых:
- OEM - в нашем случае cp866, привет дедушка DOS;
- ANSI - cp1251 для кириллицы;
- Unicode - она же UTF-16LE в мелкомягком мире (а другого, конечно, нет), она же WideChar (типа, два байта на символ вместо одного).
По этому поводу мелкомягкие даже включили в WinAPI аж по три варианта реализации большинства функций (а чего это винда так много памяти жрет, а?).
Пруф - это MSDN - так сказать, первоисточник от мелкомягких, а не интерпретация фактов третьим лицом на википедии (против нее ничего не имею). Обращаем внимание, что у функции есть три варианта: GetEnvironmentVariable (OEM), GetEnvironmentVariableA (ANSI) и GetEnvironmentVariableW (WideChar). Вообще, я считаю, что UTF-16LE был одним из
epic fail мелкомягких, но к топику это не относится, так что если есть желание попытаться позащищать мастдай, прошу в личку. UTF-8 в мастдае напрямую не поддерживается, хотя средства конвертации предусмотрены (привет, тормоза). Также обращаем внимание на коммент "GetEnvironmentVariable Doesn't work with UTF8 Data" в пруфе. Вот так примерно обстоят дела с кодировками у мелкомягких.
Теперь про андроид. Он пасется на линуксе и поэтому логично использует любимую кодировку красноглазиков - UTF-8. Сейчас это, по сути, единственный вариант. И, имхо, это замечательно. Конвертация для других кодировок возможна, но снова привет тормоза.
Теперь вместе. На форум приходит Apollon и говорит примерно следующее: "показывай заметки на экране смартфона как хочешь, но в файлах заметки нужно хранить в UTF-16LE, а не в родном для андроида UTF-8" потому что иначе "Unicode начинается прямо посередине файла" и "на ББ такой файл отредактировать не получается".
Предположим, я выпил так много, что просветлился и внял рекомендации. Что мы имеем?
В активе:
- Доволен один виндовый пользователь (может быть два или даже десять?), который очень любит один очень-очень хороший текстовый редактор под винду. Беда в том, правда, что этот редактор написал законченный виндузятный программист, который понятия не имеет про что-то, кроме ANSI (и WideChar, но только если повезет). Но, конечно, он не виноват. Напрягаться должен BorisS2, который посмел выложить программу для андроида для работы с текстовыми файлами в родном для андроида формате, а не в рассово верном виндовом.
В пассиве:
- На конвертацию туда-обратно нужны лишние ресурсы проца и памяти (при прочих равных - бай-бай, батарейка).
- Тормозной поиск по заметкам (надо ж преобразовывать перед поиском, батарейка идет еще дальше).
- Оригинальный Papyrus больше не понимает файлы от Papyrus Ex (ага, надо подсаживать всех на Papyrus Ex и делать программу платной, срочно; и чтобы больше ни одна программа под андроид эти файлы не понимала - Microsoft way, ага).
- Аналогичная проблема для большинства других программ под андроид (забудьте про быстрый просмотр заметок из файлового менеджера).
- Линуксовые пользователя (включая автора) недоуменно переглядываются и крутят пальцем у виска, так как ничего кроме UTF-8 им нафиг не сдалось.
P.S.: Я не понял какую именно пару фраз я должен прочитать по приведенной вами ссылке на википедию.
А вообще не обращайте на меня внимание. Что-то сегодня потянуло меня опус написать. Больше не буду :)