Насколько важна кодировка файла? - PullRequest
0 голосов
/ 13 июля 2010

Насколько важна кодировка файла? По умолчанию для Notepad ++ используется ANSI, но лучше ли использовать UTF-8 или какие проблемы могут возникнуть, если не использовать одну или другую?

Ответы [ 3 ]

3 голосов
/ 14 июля 2010

Да, было бы лучше, если бы все всегда использовали UTF-8 для всех документов.

К сожалению, они этого не делают, в основном потому, что текстовые редакторы Windows (и многие другие инструменты Win) по умолчанию используют «ANSI»,Это вводящее в заблуждение имя, поскольку оно не имеет ничего общего с ANSI X3.4 (он же ASCII) или любым другим стандартом ANSI, но на самом деле означает кодовую страницу системы по умолчанию на текущем компьютере Windows.Эта кодовая страница по умолчанию может меняться на разных компьютерах или на одном и том же компьютере, и в этот момент все текстовые файлы в «ANSI», содержащие не-ASCII-символы, например буквы с ударением, будут разрываться.файлы в UTF-8, но вы должны будете знать, что текстовые файлы, которые вам дадут другие люди, вероятно, будут в пестрой коллекции паршивых кодовых страниц, специфичных для страны.

Позиция Microsoft заключается в том, что пользователи, которые хотятПоддержка Unicode должна использовать файлы UTF-16LE;он даже вводит в заблуждение эту кодировку просто как «Unicode» в меню кодировки окна сохранения.MS применил этот подход, потому что в первые дни Unicode считалось, что это будет самый чистый способ сделать это.С тех пор:

  • Unicode был расширен за пределы 16-битных кодовых точек, исключив преимущество UTF-16 в том, что каждая кодовая единица является кодовой точкой;

  • UTF-8 был изобретен, с тем преимуществом, что он не только охватывает Unicode, но и обратно совместим с 7-битным ASCII (который не имеет UTF-16, так как он полон нулевых байтов), и по этой причине он такжекак правило, более компактный.

Большая часть остального мира (Mac, Linux, Интернет в целом), соответственно, уже перешла на UTF-8 в качестве стандартной кодировки, исключив UTF-16 для хранения файлов или сетевых целей.К сожалению, Windows по-прежнему застряла с архаичным и бесполезным выбором несовместимых кодовых страниц, которые были у нее в первые дни Windows NT.Нет никаких признаков этого изменения в ближайшем будущем.

2 голосов
/ 13 июля 2010

Если вы обмениваетесь файлами между системами, которые используют разные кодировки по умолчанию, тогда стоит использовать кодировку Unicode. Если вы не планируете этого или используете только набор символов ASCII и не собираетесь работать с кодировками, которые по какой-либо причине изменяют их (в настоящий момент я не могу придумать ничего, но вы никогда не знаете ...) вам это не нужно.

Кроме того, такого рода вещи случаются, когда вы не используете кодировку Unicode для файлов с не-ASCII-символами в системе с кодировкой, отличной от той, с которой был создан файл: http://en.wikipedia.org/wiki/Mojibake

0 голосов
/ 13 июля 2010

Это очень важно, так как ваш whattool будет показывать ложные символы / что угодно, если вы используете неправильную кодировку. Попробуйте загрузить файл кириллицы в Блокнот, не используя UTF-8 или около того, и увидите много «?» подходит :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...