8

Я использую Alt-код для многоточия 8230 уже некоторое время в нескольких приложениях. Несколько дней назад он перестал работать, и вместо & при нажатии Alt+8+2+3+0 (на цифровой клавиатуре) отображается символ вместо. Это произошло как на моем рабочем столе, так и на моем ноутбуке (где я использую его с Fn). Оба работают на 64bit-Win-7 с кодовой страницей 850, и оба, возможно, недавно обновили Windows и Opera 12.

Что может быть причиной того, что этот метод ввода был отключен, и как я могу переключить его обратно?

Кстати, я только что узнал, что Alt+ 0+ 1+ 3+ 3 работает. Также я обнаружил, что Alt+ 8+ 2+ 3+ 0 по- прежнему работает в WordPad или MsWord10, но ни в Opera, ни в Notepad++ - там код символа переводится с модулем 256 перед вставкой.

4 ответа4

5

Насколько я знаю, метод Alt nnnn (nnnn decimal> 255) является функцией RichEdit и поэтому работает только с некоторыми программами, такими как WordPad и MS Word. В других программах введенное число nnnn уменьшается по модулю 256, чтобы получить число в диапазоне 0 ... 255, интерпретируемое в соответствии с используемой кодовой страницей.

Ср вставить символы Unicode через клавиатуру? который описывает некоторые альтернативные методы. К сожалению, метод Alt + xxxx (xxxx шестнадцатеричный; например, Alt + 2026 для «…») явно отключен по умолчанию, и вам нужно изменить реестр Windows, чтобы разрешить его. В дополнение к утилите UnicodeInput, есть также Unicode Input by Name, но эти методы не так удобны для быстрой печати, как Alt.

4

Альт-коды и символы Юникода связаны только смутно, и (по большей части) каждое приложение определяет, как с ними обращаться, поэтому оно может различаться в зависимости от приложения, версии приложения и тому подобного.

По сути, речь идет о кодировке символов и кодовых страницах, а не о шрифтах или вводе пользователем.

Альтернативные коды для ASCII - только 0-255 (8-битная кодовая страница). Многие программы (и ОС) имеют дело с большими числами, вводимыми пользователем путем переноса в 256.

256 = 0, 257 = 1 и т.д.

Таким образом, ввод ALT+8230 фактически эквивалентен вводу ALT+38 (8230/256 = 32.1484375. 256 * 32 = 8192. 8230 - 8192 = 38), что является символом ASCII «&» - если только программа не перехватывает его и не заменяет его «правильными» кодами Unicode, или не использует другую кодовую страницу (то есть: Unicode) Например, MS Word и более новые версии WordPad.

Windows использует расширенную версию 8-битной кодовой страницы MSDOS (850), называемую кодовой страницей « Windows-1252 » (в любом случае для английских языков). Но он использует это только для устаревших частей ОС, которые не полностью поддерживают кодовые страницы Unicode.

По этим причинам вы можете легко увидеть разные результаты в разных ОС и приложениях, а также в разных частях самой Windows.

Это запутанная проблема, если не сказать больше. :)

Я почти уверен, что Alt-0133 - это "официальный" расширенный код Windows ALT для многоточия (в кодовой странице Windows), так что вам, вероятно, будет более удачно его использовать.

Вот еще немного связанной информации.

1

U+8230 - это не многоточие, это военный корабль с персонажем Хан: . Я не знаю, почему вы когда-либо получали многоточие с этим кодом, но 133 действительно правильный код для него.

Где именно, где вы видите многоточие для 8230? Возможно, это была ошибка в Opera, которая была исправлена с момента последнего обновления. Если это было в «нескольких приложениях», то, возможно, у вас была ошибка в шрифте или раскладке клавиатуры / региональных настройках или что-то в этом роде (на ум не приходит ничего очевидного или рационального, поэтому это должна быть ошибка, а не допустимая настройка).

Если (по какой-то причине) вы действительно хотите / должны использовать неправильную кодовую точку для нее вместо правильной, вы можете использовать что-то вроде Authotkey для создания скрипта, который принимает аккорд или последовательность и выводит то, что вы хотите ,

Вы уверены, что смогли ввести Alt+Numpad-8+Numpad-0+Numpad-2+Numpad-3? Хотя некоторые программы могут независимо поддерживать его, Windows по умолчанию не принимает такие высокие кодовые точки Unicode. Вы можете использовать шестнадцатеричный ввод, хотя: Alt+Numpad-++2+0+2+6.

0

Возможно, текущий шрифт не поддерживает такие символы верхнего Unicode, измените шрифт на «Arial» и попробуйте снова.

Когда я проверяю это в WordPad, ALT+8+2+3+0 работает для Arial, но не для некоторых других шрифтов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .