Винда так-то до сих пор UTF-7 использует, хоть и не целиком для всего сохраняемого файла, а лишь только определённые строки в [секциях.W] .INI/.THEME/др. подобных файлов, где используются сразу две кодировки (ASNI/OEM и UTF-7), из-за чего приходится всегда открывать такие файлы в определённой ANSI/OEM-кодировке (т.о., приходится тщательно выбирать только UTF-7-кодированный текст и жать ALT+R). Теоретически, тут возможно реализовать самопреобразование значений параметров под [секциями.W] отдельным подключаемым модулем (Plug-in) или даже сценарием (Script), однако мне б хотелось, чтобы и при сохранении в UTF-7 (а можно и в ALT+R тоже) выводился диалог с настройкой правил преобразования… То же можно и при ручном выборе "Открыть как UTF-7".
Например, если сохранить Звуковую Схему с именем !"#$%&*;<=>@[]^_`{|}~\, то эта строка сохранится как есть (без кодирования в UTF-7) в единственную секцию [Sounds], но стоит добавить к этому имени ещё ♩, то добавляется ещё и это:
Code: Select all
[Sounds.W]
SchemeName=+JmkAIQAiACMAJAAlACYAKgA7ADwAPQA+AEAAWwBdAF4AXwBgAHsAfAB9AH4AXA-

Если при открытии файла целиком как UTF-7 игнорировать старшие разряды, то это испортит [секцию.A], а последующее сохранение файла в UTF-7 "повредит" ещё и квадратные скобки (т.е. заголовки секций)! , вот опциональный набор (Set O), задействующийся в "неуправляемом кодировании", полностью несовместим с RichText FileФорматом…
Поэтому, нужны три 【кнопки】 (не радио-«кружочки») и галочки:
【 используя WinXP/2k₍﹖₎ API, w/o BOM 】 /* { Только для Windows® INI или INI-подобных (.inf, .theme, и т.д.․) файлов! Производит преобразование только при наличии хотя бы ОДНОГО не-ASCII символа! Осторожно! .RTF/PHP/HTML/XAML/XSL/XSD/JSON/YML и т.д. будут СЛОМАНЫ } */
【 с BOM (для устарелых почтовых служб) – опасно для старых web-обозревателей 】 /* { ломает .RTF/PHP/HTML/XaML/XSL/XSD/JSON/YML, и т.д.., Меж-=сайтовые атаки… вот почему HTML5 его не поддерживает } */
【 ! " # $ % & * ; < = > @ [ ] ^ _ ` { | } непосредственным ASCII эквивалентами (RFC2152, Rule 1), без BOM, хорошо для Mark-Up`ов, но НЕ ДЛЯ .RTF! 】 /* { по-умолчанию/выбрано, т.к. "не опытный пользователь" может «сломать» файл и возненавидеть это приложение } */
- Дополнительно кодировать: ☐HORIZ.TAB ☑LINE FEED ☑CARRIAGE RETURN ☑SPACE
- Non-standard: ☐' ☐, ☐- ☐. ☐/ ☐? из Set D тоже;
- НЕ КОДИРОВАТЬ ☒~ ☒\ — для совместимости с .RTF, и др содержиащих обратные косые xhtML/XSD, JSON, и т.д.‥
- ☑ESCAPE ☐NULL
- .INI/.REG
- .RTF
- .PHP
- .XML/.HTML/.XSD/.XSL, и т.д.
- .csv
- ещё какой-нибудь пользовательской…
Code: Select all
noscript>+ADw-script+AD4-bla-bla-bla+ACoAew-dangerous damage-string+AH0APA-/script+AD4-</noscript
Code: Select all
noscript>+ADw-script+AD4-bla-bla-bla*{dangerous damage-string}+ADw-/script+AD4-</noscript
Code: Select all
noscript>+ADw-script+AD4-bla-bla-bla*+AHs-dangerous damage-string+AH0APA-/script+AD4-</noscript
- ☑HORIZ.TAB ☑LINE FEED ☑CARRIAGE RETURN ☑SPACE ☑~ ☑\
- ☑' ☑, ☑- ☑. ☑/ ☑?
- ☑! ☑" ☑# ☑$ ☑% ☑& ☑* ☑; ☑< ☐= ☑> ☐@ ☑[ ☑] ☐^ ☑_ ☐` ☑{ ☑| ☑}
- ☑ESCAPE ☐NULL
- .INI/.REG
- .RTF
- .PHP
- .XML/.HTML/.XSD/.XSL, и т.д.
- .csv
- ещё какой-нибудь пользовательской…
Другая версия, IMAP RFC3501 "ИЗМЕНЁННОГО («ИСПРАВЛЕННОГО») UTF-7": кодирует & ($26ʰ) ASCII-символ вместо + ($2Bʰ) — ничего не делает с $20ʰ‥25ʰ, $27ʰ‥7Eʰ ASCII-кодами₍﹖₎