Почему символ Unicode (U+2295) отображается как (U+2248)

Почему символ Unicode (U+2295) отображается как (U+2248)

Я открываю Блокнот и печатаю, +2295удерживая клавишу Alt, затем отпускаю клавишу Alt. Я сохраняю файл в кодировке Unicode. Однако вывод неhttp://www.fileformat.info/info/unicode/char/2295/index.htmкак и ожидалось, но этоhttp://www.fileformat.info/info/unicode/char/2248/index.htmВместо этого. Что я делаю не так? Ищу какие-нибудь подсказки.

Для тех, кто еще с этим столкнется: обратите внимание, EnableHexNumpadчто это должно быть новоеТип строки(См. страницу Wiki, ссылку на которую можно найти в ответе)

решение1

TheЗапись в Википедиив методах ввода Unicode перечислены необходимые предпосылки для работы этого:

Предпосылкой для этого метода ввода является то, что раздел реестра HKEY_CURRENT_USER\Control Panel\Input Methodсодержит значение типа строки ( REG_SZ), называемое EnableHexNumpad, которое имеет значение data 1. Пользователям необходимо выйти из системы/войти в Windows 8.1/8.0, Windows 7 и Vista или перезагрузиться в более ранних системах после редактирования реестра, чтобы этот метод ввода начал работать.

После того, как я добавил этот ключ реестра на свой компьютер и перезагрузил его, ввод работает так, как и было заявлено.

решение2

Чтобы ответить на вопрос, почему присутствует именно это значение:

При стандартном методе ввода десятичные числа берутся по модулю 256, а затем интерпретируются как кодовая страница OEM*, если начальный ноль отсутствует, или кодовая страница ANSI, если начальный ноль есть. Итак, шаги следующие:

  • 2295 мод 256 = 247
  • 247 [0xF7] — это U+2295 в кодовой странице OEM

Наборы символов, которые содержат U+2295 в этом зелье, — это кодовые страницы 437, 737, 770, 772, 774, 860, 861, 862, 863, 864, 865, CWI и MIK.

(Тот факт, что «2295» и «2248» оба начинаются с цифры 22, является интересным совпадением, не более того)

* Примечание: «Кодовая страница ANSI» имеет мало общего с ANSI, за исключением того, что кодовая страница 1252 была основана на проекте того, что позже стало ISO 8859-1 [и некоторые другие имели похожее происхождение]. Это 8-битный набор символов, связанный с текущей локалью, а «Кодовая страница OEM» — это другой набор символов, связанный с локалью, обычно тот, который использовался в MS-DOS в этой стране.

Связанный контент