Der Alt-Code kann nicht mehr zum Einfügen von Unicode-Zeichen verwendet werden

10

Ich verwende den Alt-Code für die Auslassungspunkte 8230 seit einiger Zeit in mehreren Anwendungen. Vor ein paar Tagen es aufgehört zu arbeiten, und &wird angezeigt , anstatt beim Drücken Alt+ 8+ 2+ 3+ 0(Numpad). Dies geschah sowohl auf meinem Desktop als auch auf meinem Laptop (wo ich es benutze Fn). Beide laufen unter 64-Bit-Win-7 mit Codepage 850, und beide haben möglicherweise kürzlich Windows und Opera 12 aktualisiert.

Was könnte der Grund sein, warum diese Eingabemethode deaktiviert wurde , und wie schalte ich sie zurück ?

Übrigens habe ich gerade herausgefunden, dass Alt+ 0+ 1+ 3+ 3funktioniert. Außerdem habe ich herausgefunden, dass Alt+ 8+ 2+ 3+ 0immer noch in WordPad oder MsWord10 funktioniert, aber weder in Opera noch in Notepad ++ - dort wird der Zeichencode vor dem Einfügen in Modul 256 übersetzt.

Bergi
quelle
Ich empfehle WinCompose auszuprobieren, da Sie damit die Auslassungspunkte mit der einfachen und intuitiven Kombination eingeben können[Alt] [.] [.] .
Sam Hocevar
@ LưuVĩnhPhúc Nein, das ist eine ganz andere Frage. Beachten Sie, dass 8230 der Dezimalzeichencode der Auslassungspunkte ist, nicht der hexadezimale.
Bergi

Antworten:

6

Soweit ich weiß, ist die Methode Alt nnnn (nnnn decimal> 255) eine RichEdit-Funktion und funktioniert daher nur mit ausgewählten Programmen wie WordPad und MS Word. In anderen Programmen wird die eingegebene Zahl nnnn modulo 256 reduziert, um eine Zahl im Bereich von 0 bis 255 zu erhalten, die gemäß der verwendeten Codepage interpretiert wird.

Vgl. zum Einfügen von Unicode - Zeichen über die Tastatur? das beschreibt einige alternative Methoden. Leider ist die Methode Alt + xxxx (xxxx hexadezimal; z. B. Alt + 2026 für „…“) anscheinend standardmäßig deaktiviert, und Sie müssen die Windows-Registrierung ändern, um dies zuzulassen. Zusätzlich zum Dienstprogramm UnicodeInput gibt es auch Unicode Input by Name , aber diese Methoden sind für die schnelle Eingabe nicht ganz so praktisch wie Alt-Methoden.

Jukka K. Korpela
quelle
Danke, das scheint die richtige Richtung zu sein. Anscheinend hat Opera 12 diese RichEdit-Funktion eingestellt. Kann ich das irgendwie manuell wieder aktivieren oder müsste ich einen Fehlerbericht schreiben?
Bergi
1
+1 Ihre Bemerkung, dass in anderen Programmen der Zeichenwert mod 256 ist, ist genau das Verhalten, das ich im Editor beobachtet habe.
Nicole Hamilton
4

Alt-Codes und Unicode-Zeichen sind nur vage miteinander verbunden, und (größtenteils) liegt es an jeder Anwendung, zu bestimmen, wie mit ihnen umgegangen werden soll. Daher kann es zwischen Apps, Versionen von Apps und dergleichen unterschiedlich sein.

Im Wesentlichen geht es eher um Zeichenkodierung und Codepages als um Schriftarten oder Benutzereingaben.

Alt-Codes für ASCII sind nur 0-255 (8-Bit-Codepage). Viele Programme (und Betriebssysteme) verarbeiten größere Zahlen, die vom Benutzer durch Umbrechen von 256 eingegeben werden.

256 = 0, 257 = 1 usw.

Die Eingabe von ALT + 8230 entspricht also der Eingabe von ALT + 38 (8230/256 = 32.1484375. 256 * 32 = 8192. 8230 - 8192 = 38). Dies ist das ASCII-Zeichen "&" - es sei denn, das Programm fängt es ab und Ersetzt es durch "richtige" Unicode-Codes oder durch Verwendung einer anderen Codepage (dh: Unicode), wie dies beispielsweise bei MS Word und neueren WordPad-Versionen der Fall ist.

Windows verwendet eine erweiterte Version der MSDOS 8-Bit-Codepage (850), die als " Windows-1252 " -Codepage bezeichnet wird (für englische Sprachen sowieso). Dies wird jedoch nur für ältere Teile des Betriebssystems verwendet, die die Unicode-Codepages nicht vollständig unterstützen.

Dies sind die Gründe, warum Sie leicht unterschiedliche Ergebnisse in verschiedenen Betriebssystemen und Anwendungen sowie in verschiedenen Teilen von Windows selbst sehen können.

Es ist ein verwirrendes Thema, um es gelinde auszudrücken. :) :)

Ich bin mir ziemlich sicher, dass Alt-0133 der "offizielle" erweiterte Windows-ALT-Code für die Auslassungspunkte ist (auf der Windows-Codepage), sodass Sie wahrscheinlich mehr Glück haben werden, ihn zu verwenden.

Hier finden Sie weitere Informationen .

Ƭᴇcʜιᴇ007
quelle
Danke für den informativen Link. Ich habe bereits gesehen, dass es verwirrende Unterschiede bei der Suche nach dem Problem gibt :-)
Bergi
1

U + 8230 ist nicht die Ellipse, sondern das Kriegsschiff Han Character : . Ich weiß nicht, warum Sie jemals eine Ellipse mit diesem Code bekommen haben, aber 133 ist in der Tat der richtige Codepunkt dafür.

Wo genau sehen Sie eine Ellipse für 8230? Vielleicht war es ein Fehler in Opera, der seit dem letzten Update behoben wurde. Wenn es sich um „mehrere Anwendungen“ handelte, hatten Sie möglicherweise einen Fehler in Ihrer Schriftart oder Ihrem Tastaturlayout / Ihrer regionalen Einstellung oder so etwas (nichts Offensichtliches oder Rationales fällt Ihnen ein, es muss also ein Fehler im Gegensatz zu einer legitimen Einstellung gewesen sein).

Wenn Sie (aus irgendeinem Grund) wirklich einen falschen Codepunkt dafür verwenden möchten / müssen, anstatt den richtigen zu verwenden, können Sie mit Authotkey ein Skript erstellen, das einen Akkord oder eine Sequenz akzeptiert und das ausgibt, was Sie möchten .

Sind Sie sicher, dass Sie Alt+ Numpad-8+ Numpad-0+ Numpad-2+ eingeben konnten Numpad-3? Obwohl einige Programme dies möglicherweise unabhängig unterstützen, akzeptiert Windows standardmäßig keine solchen hohen Unicode-Codepunkte. Sie können jedoch Hex-Eintrag verwenden : Alt+ Numpad-++ 2+ 0+ 2+ 6.

Synetech
quelle
8230 ist eine Dezimalstelle für Hex 2026, was in der Tat die Ellipse ist. fileformat.info/info/unicode/char/2026/index.htm Alt + 8230 funktioniert in einigen Apps (z. B. neue Outlook-Nachricht), aber nicht in anderen (z. B. Notepad) für mich unter Win7 x64.
Nicole Hamilton
8230ist der Dezimalzeichencode von U + 2026 ( Ellipse ). Ich habe nie das Präfix +oder verwendet 0, Altsondern nur gedrückt und einen vierstelligen Dezimalzeichencode eingegeben. Wie in der Frage gesagt, funktioniert dies in Word immer noch gut.
Bergi
Ja, ich bin sicher, dass es funktioniert hat, aber ich denke, es hat nur in meinen Lieblingsanwendungen funktioniert: - / Hex-Eintrag ist derzeit nicht aktiviert und gibt nach , also bleibe ich bei 0133...
Bergi
> Hex-Eintrag ist derzeit nicht aktiviert Vielleicht nicht, aber Sie können ihn der Einfachheit halber aktivieren, da Windows, wie gesagt, standardmäßig nicht mehr als 8000 Codepunkte (in Dezimalzahlen) akzeptiert. Die Verwendung von Hex-Eintrag ist eine Windows-Einstellung und funktioniert daher in allen Anwendungen (zumindest in allen, die Unicode-Bearbeitungsfelder unterstützen).
Synetech
0

Möglicherweise unterstützt die aktuelle Schriftart solche oberen Unicode-Zeichen nicht. Ändern Sie die Schriftart in "Arial" und versuchen Sie es erneut.

Wenn ich dies in WordPad teste, funktioniert ALT + 8 + 2 + 3 + 0 für Arial, jedoch nicht für einige andere Schriftarten.

Peter Hahndorf
quelle
1
Nein, die Schriftarten unterstützen die Anzeige. Ich glaube auch nicht, dass eine Schriftart die Eingabemethode beeinflussen darf.
Bergi