Denis Bider указал, что документация к программе cmd.exe говорит:
/A - приводит к тому, что вывод от внутренних команд в канал или файл будет происходить в ANSIдаже хотя вывод будет вообще-то в OEM. Почему существует такая и подобные ошибки?
Потому что иногда ANSI означает OEM.
"A"-вариант консольных функций принимает символы в кодовой странице OEM, несмотря на суффикс "A", который предполагает ANSI. Более того, если вы вызовите функцию
SetFileAPIsToOEM
, то "A"-функции, которые принимают имена файлов будут также трактовать имена файлов в кодовой странице OEM, вместо умалчиваемой ANSI."В мире есть два типа людей: те, кто верят, что мир может быть поделен на два типа людей, и те - кто не верят."
Есть те, кто мысленно делят мир символов на две группы: Unicode и 8-бит. Как вы видите, многие из них участвовали в проектировании оригинального Win32: у вас есть "W"-функции (Unicode) и "A"-функции (ANSI). Не существует никаких "O"-функций (OEM). Вместо этого, все, кто с OEM, сосредотачиваются в том же лагере, что и ANSI.
Есть и те, кто различают эти два случая, но из-за лени или просто удобства ради часто используют "ANSI" как аббревиатуру "подходящая 8-ми битная кодовая страница, определяемая из контекста". В контексте консольного программирования "подходящей 8-ми битной кодовой страницей" оказывается набор символов OEM.
Человек, который писал документацию к cmd.exe, очевидно считал, что ANSI означает "штука, которая не Unicode".
/A - приводит к тому, что вывод от внутренних команд в канал или файл будет происходить в ANSIОпределить, принадлежит ли автор этих строк лагерю "Всё является либо Unicode, либо ANSI" или нет, я оставлю вам в качестве упражнения.
/U - приводит к тому, что вывод от внутренних команд в канал или файл будет происходить в Unicode
Комментариев нет:
Отправить комментарий
Можно использовать некоторые HTML-теги, например:
<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>
Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.
Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.
Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.
Примечание. Отправлять комментарии могут только участники этого блога.