неиспользуемые символы из набора символов ANSI - PullRequest
0 голосов
/ 11 марта 2011

Я разрабатываю небольшой язык программирования вместе с IDE.

Набор символов ANSI содержит подмножество неиспользуемых символов.Вот полный список: 0x7F, 0x81, 0x8D, 0x8F, 0x90, 0x9D

Я хотел бы использовать некоторые из них для разметки невидимого кода, поэтому мне интересно, как они были напечатаны в разных средах.Могу ли я предположить, что они всегда являются пробелами, или некоторые редакторы возьмут на себя честь заменить их чем-то вроде '?'или серый прямоугольник?

Спасибо, Дмитрий

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Похоже, вы говорите о Windows-1252 , которая является лишь одной из многих кодовых страниц "ANSI", которые может использовать Windows, и, вероятно, она не используется вне Windows.Не привязывайте новый продукт к устаревшей технологии.Не поддержка Unicode (будь то UTF-16le или UTF-8) неприемлема для языка программирования.

Хотя ответ на прямой вопрос довольно спорный, ответ - нет, вы не можете предполагать, что они будут рассматриваться какпробельные.Некоторые могут.Некоторые могут заменить пробелом.Некоторые могут заменить другим глифом.Некоторые могут использовать специальные цвета.Некоторые могут дать предупреждение.Некоторые могут не загружать файл.

Кстати, если вы имеете в виду Windows-1252, только 0x81, 0x8D, 0x8F, 0x90, 0x9D не назначены.

0 голосов
/ 11 марта 2011

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

...