Может ли gedit создать файл Unicode?

Используя bless, я вижу, что мой вывод gedit - ASCII. Может ли gedit обработать какой-нибудь Unicode?

5
задан 30 January 2017 в 13:40

2 ответа

При нажатии на сохранить Как на левом нижнем углу Вы доберетесь, некоторая кодировка, чтобы выбрать из, выбрать добавляет и удаляет (последняя запись), и Вы доберетесь до списка доступной кодировки включая различную unicode кодировку.

enter image description here

0
ответ дан 30 January 2017 в 23:40
  • 1
    Это shouldn' t, there' s что-то не так с Вашей установкой. Я думаю that' s, почему gsettings не работает. – pomsky 21 October 2017 в 22:49

Так, я дал Bruni снимок экрана для их ответа для показа то, что они имели в виду. Но затем я протестировал результат. Можно действительно выбрать кодировку UTF-8 в gedit или любой другой текстовый редактор. Однако, если эти файлы не содержат символы неASCII **, они будут обнаружены как ASCII. Действительно, то же содержит, если Вы создаете "простой текст" (сомнительный термин*) файл каким-либо методом, и этот ответ имеет причину:

Когда все Ваши символы <128 ASCII и UTF-8 являются тем же. ASCII является подмножеством UTF-8 (и также подмножеством latin1 и многих других форматов кодирования).

Я бросаю вызов любому тестировать этот ответ; я могу только создать текстовый файл "UTF-8" в своей системе путем добавления символов неASCII к нему, даже при том, что все мои терминалы, все мои текстовые редакторы и мой locale установлены на UTF-8:

$ echo unicorns > rainbows; file rainbows
rainbows: ASCII text

перенаправление echo создает файл это file говорит ASCII (попробуйте его сами!)

$ echo ユニコーン >> rainbows; file rainbows
rainbows: UTF-8 Unicode text

Добавление символов неASCII автоволшебно изменяет кодирование? Нет, просто вызывает file видеть, что действительно, кодирование является UTF-8, потому что это больше не может ограничиваться ASCII.

TL; DR

Не волнуйтесь, Ваши текстовые файлы "ASCII" являются скрытыми файлами UTF-8 (их UTF-8-ness не может быть обнаружен), и будет проанализирован, как Вы хотите и ожидаете.


*Вам было интересно достаточно для выяснения, поэтому возможно, Вы уже понимаете то, что писатель этой статьи говорит нам. Эта часть объясняет больше о кодировании, и конкретно почему ASCII!=UTF-8 и почему необходимо знать, как Вы закодировали свой текст. Я извлек:

Единственный самый важный факт о кодировке

Если Вы полностью забываете все, что я просто объяснил, помните один чрезвычайно важный факт. Не имеет смысла иметь строку, не зная, какое кодирование это использует. Вы больше не можете прятать голову в песок и притворяться, что "простым" текстом является ASCII.

Нет такой вещи как простой текст.

Если у Вас есть строка, в памяти, в файле, или в электронном письме, необходимо знать, в каком кодировании это находится, или Вы не можете интерпретировать его или отобразить его пользователям правильно.

Почти каждое глупое "мой веб-сайт похоже на мусор" или "она не может прочитать мои электронные письма, когда я использую диакритические знаки" проблема, сводится к одному наивному программисту, который не понял очевидный факт, что, если Вы не говорите мне, кодируется ли конкретная строка с помощью UTF-8 или ASCII или ISO 8859-1 (латинский 1) или Windows 1252 (западноевропеец), Вы просто не можете отобразить его правильно или даже выяснить, где это заканчивается. Существует более чем сто кодировок и выше кодовой точки 127, все ставки выключены.


** Забавный Факт: @ByteCommander, на который указывают мне это file только смотрят первый 50-100kb из файла, поэтому если существуют символы неASCII, далекие с начала текстового файла, то file будет все еще думать, что это - ASCII.

7
ответ дан 30 January 2017 в 23:40
  • 1
    @HarshKhatri, Возможно, необходимо задать новый вопрос для той проблемы. Если Вы действительно предоставляете подробную информацию как своя версия ОС, версия оболочки GNOME, как Вы установили Тире для Прикрепления и т.д. Надо надеяться, кто-то будет в состоянии помочь. – pomsky 22 October 2017 в 01:01

Другие вопросы по тегам:

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