Почему специальные символы изменяют ширину конечного / ведущего символа пробела в Gedit или medit?

Используйте live Ubuntu и установите gparted программное обеспечение, и он будет монтировать все диски, а также микрофонную карту, и оттуда вы можете отформатировать SD-карту, и она будет выделяться как свободное место, а затем вы загрузите другую ОС.

2
задан 24 January 2018 в 10:54

3 ответа

Это ошибка

Поддержка Gedit для более высоких символов Unicode не идеальна. Поймите, что то, что вы видите в gedit, не обязательно то, что вы получаете в другом приложении. Gedit - интересное и полезное приложение, но оно не идеально.

Уверен, что об ошибке уже сообщается. Может быть, это один из них? https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22gedit%22%20utf-8&list_id=272617

Я не вижу того, что соответствует тому, что вы говоря. Возможно, вы можете сообщить о новой ошибке, выполнив следующие шаги: https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22gedit%22%20utf-8&list_id=272617

Если вы пишете код, попробуйте IntelliJ или еще один серьезный редактор. Даже vim может сделать лучше.

3-байтовый символ UTF-8

Вы используете 3-байтовый символ UTF-8:

e2af88

Я запустил xxd в тестовом файле, созданном gedit - Version 3.22.1. xxd V1.10 27oct98 от Juergen Weigert тоже не отображал символ, но cat (GNU coreutils) 8.26 сделал.

Итак, давайте пройдем кропотливый процесс перевода кодировки UTF-8 в Unicode Символ, который он представляет.

Hx Binary
e2 1110 0010
af 1010 1111
88 1000 1000

Сбросьте элементы управления (каждый заканчивается на 0):

Ctr  Actual bits  Ctrl Meaning
1110 0010         1110 means: a three-byte character.
10   101111       10 means: continuation of character.
10   001000       10 means: continuation of character.

Объединение фактических бит:

0010101111001000
[d14 ] Преобразование назад в шестнадцатеричное (в этом примере оно не отображается / имеет значение, но если количество бит не делится на 4 равномерно, вам нужно сделать группы из 4 бит, начиная с правой стороны, а затем поместить с нули в левой части):

Hx Binary
2b 0010 1011
c8 1100 1000

Юникодный символ

2bc8 - это «⯈» или «черный треугольник с прямым правым треугольником» U + 2BC8. Таким образом, Gedit сохраняет правильный символ, просто не отображая пространства вокруг него.

Похоже, 2bc8 был добавлен в Unicode 7.0 в 2014 году: http://unicode.org/cldr/utility/character. jsp? a = 2BC8

Возможно, gedit не поддерживает полностью 7.0? Или что пространства иногда сжимаются около 3-байтных символов UTF-8?

3
ответ дан 22 May 2018 в 17:00
  • 1
    Благодарю. Это имеет смысл. F.Y.I. Я просто использую Gedit как чистый текстовый редактор. Я просто фиксирую первоначальные мысли и идеи, когда пишу предварительные заметки и рисую грубые таблицы, потоки, диаграммы ASCII и т. Д. После того, как я усовершенствую свое мышление, я перехожу к разработке правильной записи / диаграмм в более подходящих инструментах. Так что это просто досада. – TaoRich 14 December 2017 в 18:58
  • 2
    То, что вы говорите, имеет смысл, но «⯈» правильно отображается. Это пробелы, которые отображаются неправильно. Что еще более странно - это пример ведущего пространства, который я добавил через некоторое время после проблемы с конечным пространством. На очень грубом языке это почти похоже на то, что Gedit не «открывает или закрывает». код символа отображается правильно, когда он граничит с пространством, но «обычный типизированный символ», сбрасывает дисплей в нормальное состояние. – TaoRich 14 December 2017 в 19:16
  • 3
    Хорошая точка зрения. Если вы откроете ошибку, вы можете ее загладить, " Spaces иногда сжимают около 3-байтовых символов UTF-8. & Quot; Это ведущие пробелы, которые являются проблемой в моей версии gedit. Ну, если это не приведет к правильному завершению персонажа, он отобразит какой-то странный следующий персонаж, и это не то, что я вижу. Я обновил свой ответ. Благодаря! – GlenPeterson 14 December 2017 в 19:26
  • 4
    Я сделал еще одно быстрое испытание; повторил то же поведение с символом Unicode 2.0 (с помощью ссылки unicode.org). Так что это не проблема с версией. Я напишу отчет об ошибке, как только у меня появится шанс, и поставьте ссылку здесь. Спасибо за ваш вклад. – TaoRich 18 December 2017 в 12:10

Это ошибка

Поддержка Gedit для более высоких символов Unicode не идеальна. Поймите, что то, что вы видите в gedit, не обязательно то, что вы получаете в другом приложении. Gedit - интересное и полезное приложение, но оно не идеально.

Уверен, что об ошибке уже сообщается. Может быть, это один из них? https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22gedit%22%20utf-8&list_id=272617

Я не вижу того, что соответствует тому, что вы говоря. Возможно, вы можете сообщить о новой ошибке, выполнив следующие шаги: https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22gedit%22%20utf-8&list_id=272617

Если вы пишете код, попробуйте IntelliJ или еще один серьезный редактор. Даже vim может сделать лучше.

3-байтовый символ UTF-8

Вы используете 3-байтовый символ UTF-8:

e2af88

Я запустил xxd в тестовом файле, созданном gedit - Version 3.22.1. xxd V1.10 27oct98 от Juergen Weigert тоже не отображал символ, но cat (GNU coreutils) 8.26 сделал.

Итак, давайте пройдем кропотливый процесс перевода кодировки UTF-8 в Unicode Символ, который он представляет.

Hx Binary e2 1110 0010 af 1010 1111 88 1000 1000

Сбросьте элементы управления (каждый заканчивается на 0):

Ctr Actual bits Ctrl Meaning 1110 0010 1110 means: a three-byte character. 10 101111 10 means: continuation of character. 10 001000 10 means: continuation of character.

Объединение фактических бит:

0010101111001000

Преобразование назад в шестнадцатеричное (в этом примере оно не отображается / имеет значение, но если количество бит не делится на 4 равномерно, вам нужно сделать группы из 4 бит, начиная с правой стороны, а затем поместить с нули в левой части):

Hx Binary 2b 0010 1011 c8 1100 1000

Юникодный символ

2bc8 - это «⯈» или «черный треугольник с прямым правым треугольником» U + 2BC8. Таким образом, Gedit сохраняет правильный символ, просто не отображая пространства вокруг него.

Похоже, 2bc8 был добавлен в Unicode 7.0 в 2014 году: http://unicode.org/cldr/utility/character. jsp? a = 2BC8

Возможно, gedit не поддерживает полностью 7.0? Или что пространства иногда сжимаются около 3-байтных символов UTF-8?

3
ответ дан 18 July 2018 в 01:12

Это ошибка

Поддержка Gedit для более высоких символов Unicode не идеальна. Поймите, что то, что вы видите в gedit, не обязательно то, что вы получаете в другом приложении. Gedit - интересное и полезное приложение, но оно не идеально.

Уверен, что об ошибке уже сообщается. Может быть, это один из них? https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22gedit%22%20utf-8&list_id=272617

Я не вижу того, что соответствует тому, что вы говоря. Возможно, вы можете сообщить о новой ошибке, выполнив следующие шаги: https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22gedit%22%20utf-8&list_id=272617

Если вы пишете код, попробуйте IntelliJ или еще один серьезный редактор. Даже vim может сделать лучше.

3-байтовый символ UTF-8

Вы используете 3-байтовый символ UTF-8:

e2af88

Я запустил xxd в тестовом файле, созданном gedit - Version 3.22.1. xxd V1.10 27oct98 от Juergen Weigert тоже не отображал символ, но cat (GNU coreutils) 8.26 сделал.

Итак, давайте пройдем кропотливый процесс перевода кодировки UTF-8 в Unicode Символ, который он представляет.

Hx Binary e2 1110 0010 af 1010 1111 88 1000 1000

Сбросьте элементы управления (каждый заканчивается на 0):

Ctr Actual bits Ctrl Meaning 1110 0010 1110 means: a three-byte character. 10 101111 10 means: continuation of character. 10 001000 10 means: continuation of character.

Объединение фактических бит:

0010101111001000

Преобразование назад в шестнадцатеричное (в этом примере оно не отображается / имеет значение, но если количество бит не делится на 4 равномерно, вам нужно сделать группы из 4 бит, начиная с правой стороны, а затем поместить с нули в левой части):

Hx Binary 2b 0010 1011 c8 1100 1000

Юникодный символ

2bc8 - это «⯈» или «черный треугольник с прямым правым треугольником» U + 2BC8. Таким образом, Gedit сохраняет правильный символ, просто не отображая пространства вокруг него.

Похоже, 2bc8 был добавлен в Unicode 7.0 в 2014 году: http://unicode.org/cldr/utility/character. jsp? a = 2BC8

Возможно, gedit не поддерживает полностью 7.0? Или что пространства иногда сжимаются около 3-байтных символов UTF-8?

3
ответ дан 24 July 2018 в 17:21

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

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