Если исходный код сохранен в формате UTF-8

Как важный это должно сохранить Ваш исходный код в формате UTF-8?

Eclipse в Windows использует кодировку символов CP1252 по умолчанию. Средства формата CP1251 не символы UTF-8 могут быть сохранены, и я видел, что это происходит, если Вы копируете и вставляете из документа Word для комментария.

Причина, которую я спрашиваю, состоит в том, потому что из привычки я устанавливаю Знатока, кодирующего, чтобы быть в формате UTF-8, и недавно это поймало некоторых не отображаемые ошибки.

(обновление) добавьте какие-либо причины того, чтобы сделать так и почему, там некоторые общие глюки, которые должны быть известны?

(обновление), Какова Ваша цель? Для нахождения лучшей практики поэтому, когда спрашивают, почему мы должны использовать UTF-8, у меня есть хороший ответ прямо сейчас я не делаю.

33
задан JARC 1 February 2010 в 17:25
поделиться

5 ответов

Какова твоя цель? Сбалансировать свои потребности с преимуществами и недостатками этого выбора.

UTF-8 Pros

  • позволяет использовать все символьные литералы без \uHHHH escaping

UTF-8 Cons

  • используя не-ASCII символьные литералы без \uHHHH увеличивает риск повреждения символов. Могут возникнуть
    • проблемы со шрифтами и клавиатурой
    • необходимость документирования и обеспечения использования UTF-8 во всех инструментах (редакторах, компиляторах, строящих скрипты, инструментах сравнения)
  • остерегайтесь отметки порядка байт

ASCII Pros

  • символьные/байтовые связки разделяются широким спектром кодировок
    • делает исходные файлы очень портативными
    • часто избавляет от необходимости указывать мета-данные кодирования (так как файлы были бы идентичны, если бы они были перекодированы как UTF-8, Windows-1252, ISO 8859-1 и большинство вещей, кроме UTF-16 и/или EBCDIC)

ASCII Cons

  • limited character set
  • это не 1960-е годы

Обратите внимание: ASCII - 7-битный, не "расширенный", и его не следует путать с Windows-1252, ISO 8859-1 или чем-то еще.

25
ответ дан 27 November 2019 в 18:35
поделиться

Да, если только ваш компилятор/интерпретатор не может работать с UTF-8 файлами, то это определенно выход.

2
ответ дан 27 November 2019 в 18:35
поделиться

Настройка Eclipse на использование кодировки платформы по умолчанию является плохим решением IMHO. Я нашел необходимым изменить кодировку по умолчанию на UTF-8 вскоре после установки, так как некоторые из моих существующих исходных файлов использовали ее (вероятно, из скопированных/пастированных со страниц)

Язык Java и спецификации API требуют поддержки UTF-8, так что вы определенно в порядке со стандартными инструментами, и я уже давно не видел приличного редактора, который не поддерживал UTF-8.

Даже в проектах, использующих JNI, исходные тексты на C обычно будут в US-ASCII, который является подмножеством UTF-8, так что иметь оба открытых в одной IDE не будет проблемой.

6
ответ дан 27 November 2019 в 18:35
поделиться

Важно, по крайней мере, вам необходимо с кодировкой, используемой для того, чтобы избежать территорий. Таким образом нет, х тут, у там и Z в других местах. Сохранить исходный код в кодировке X. Установите ввод кода для кодирования X. Установите выход кода для кодирования X. Установите характеристики FTP-передача для кодирования X. Etcetera.

В настоящее время UTF-8 - хороший выбор, поскольку он охватывает каждый персонаж, который в мире человек знает, и довольно везде поддерживается. Итак, да, я бы настроил рабочую область кодировкой к ней. Я также использую это так.

6
ответ дан 27 November 2019 в 18:35
поделиться

Я не думаю, что на этот вопрос действительно есть прямой ответ "да" или "нет". Я бы сказал, что для выбора формата кодировки, в порядке приоритета перечисленного (от высшего до низшего), следует использовать следующие указания:

1) Выберите кодировку, которую поддерживает ваша цепочка инструментов. Это намного проще, чем раньше. Даже в недавней памяти многие компиляторы и языки в основном поддерживали только ASCII, что более или менее вынуждало разработчиков кодировать на западноевропейских языках. В наши дни многие из новых языков поддерживают другие кодировки, и почти все приличные редакторы и IDE поддерживают невероятно длинный список кодировок. Тем не менее... есть только достаточно выдержек, которые нужно перепроверить перед тем, как остановиться на кодировке.

2) Выберите кодировку, которая поддерживает как можно больше алфавитов, которые вы хотите использовать. Я ставлю это в качестве второстепенного приоритета, потому что, честно говоря, если ваши инструменты его не поддерживают, не имеет значения, нравится вам кодировка больше или нет.

UTF-8 - отличный выбор во многих обстоятельствах современного мира. Это уродливый, неприглядный формат, но он решает целую кучу проблем (а именно, имеет дело с наследственным кодом), которые ломают другие кодировки, и кажется, что он становится все более и более де-факто стандартом кодировок символов. Он поддерживает все основные алфавиты, черт возьми, каждый редактор на планете поддерживает его сейчас, и целый ряд языков/компиляторов также поддерживают его. Но, как я упоминал выше, существует только достаточно наследственных удержаний, которые вам нужно дважды проверить вашу инструментальную цепочку от конца к концу, прежде чем вы окончательно на ней остановитесь.

2
ответ дан 27 November 2019 в 18:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: