Wie geben Sie Unicode-Zeichen mithilfe von Hexadezimalcodes ein?

85950
Will

Dies ist in Windows, aber Antworten für andere Betriebssysteme können für andere hilfreich sein.

Die meisten Handbücher sagen etwas zum Effekt "Halten Sie die Alt-Taste gedrückt und geben Sie den Code auf der Tastatur ein". Dies funktioniert gut für Dezimalcodes (wie 65 für 'A'), nicht jedoch für Hexadezimalcodes (wie U + 0041 für 'A').

Einige Anwendungen bieten andere Funktionen, mit denen hexadezimale Unicode-Zeichencodes eingegeben und dann umgewandelt werden können. In Word können Sie den Code eingeben (z. B. 200f) und ihn anschließend in Unicode konvertieren, indem Sie Alt-X eingeben.

Ich suche nach einer allgemeinen Methode, die mit der Standardeingabe funktioniert.

69
* Dies funktioniert gut für Unicode-Zeichen, die keine Hex-Zeichen A bis F enthalten. * Sollte lauten: * für Dezimalcodes *. Es gibt viele Hexadezimalzahlen, die keinen AF verwenden. Wie 10, die dann nicht zehn sind ... Arjan vor 14 Jahren 1
Das ist für mich nutzlos, wenn ich eine u + 23AF eingeben muss. Will vor 14 Jahren 1
Mein Punkt ist: Sie können Dinge wie u + 0041 (Hex 41, Dezimal 65) auch nicht mit dem numerischen Tastenfeld eingeben (da Sie dann statt 65 die Zahl 65 eingeben müssten) - http://www.fileformat.info/info / unicode / char / 0041 Die Verwendung des Alt-Tricks * funktioniert also gut für Dezimalcodes, nicht jedoch für Hexadezimalcodes *. Arjan vor 14 Jahren 4
@Will: Die Methode "alt + NN ..." erwartet * dezimal *, nicht die Hex-Notation der Zeichenposition. Unicode verwendet Hex. Wenn Sie also eingeben möchten, was Unicode als "U + 23AF" darstellt, müssen Sie hex == 23AF in decimal == 9135 konvertieren und dann "alt + 9135" eingeben. Das ist die * einzige * allgemeine Methode, die es gibt. *** Aber: *** Ihr gewünschtes Zeichen erscheint möglicherweise nicht wie erwartet im Textfeld oder Dokument, wenn Ihre aktuell ausgewählte Schriftart nicht mit "U + 23AF" gefüllt ist (oder wenn es sich nicht um eine Unicode-Schriftart handelt der erste Ort!). Kurt Pfeifle vor 13 Jahren 1
@Arjan: Du schreibst nicht *** hex *** Zeichen mit der "alt + nnn" -Methode. Sie geben nur *** dezimale *** Zeichencodes ein. Aus diesem Grund können Sie nicht gerade "U + 1234" -Zeichen (die keine Ihrer abgelehnten "af" -Zeichen enthalten) als "alt + 1234" in Ihr numerisches Tastenfeld eingeben, sondern Sie müssen hex == 1234 in dec = konvertieren = 4660 und dann "alt + 4660" eingeben, bevor Sie (** MAI **) bekommen, was Sie wollen. Ihre Aussage "Der Alt-Trick funktioniert nicht bei hexadezimalen Codes" stellt das Problem genau fest, aber Sie haben es selbst nicht verstanden :-) Kurt Pfeifle vor 13 Jahren 0
Und für diejenigen, die hierher kamen, um `Control + Shift + u 'zu deaktivieren, wird dies [hier] diskutiert (https://superuser.com/q/358749/96867). Styne666 vor 5 Jahren 0

8 Antworten auf die Frage

37
harrymc

Fand dies in So geben Sie Unicode-Zeichen in Microsoft Windows ein :

Ich habe dies unter Windows XP und Windows 2003 getestet. Diese Methode funktioniert unabhängig von Ihren Spracheinstellungen, ist jedoch am mühsamsten einzugeben:

  1. Halten Sie die Alt-Taste gedrückt.
  2. Drücken Sie die + (Plus) -Taste auf dem numerischen Tastenfeld.
  3. Geben Sie den hexadezimalen Unicode-Wert ein.
  4. Lassen Sie die Alt-Taste los.

Leider scheint dies eine Registrierungseinstellung zu erfordern. Es war bereits auf meinem Computer eingerichtet, aber einige Leser berichten, dass diese Methode für sie nicht funktioniert hat, und dies ist wahrscheinlich der Grund dafür. Wenn Sie nicht wissen, was die Registrierung ist, versuchen Sie es bitte nicht. Unter HKEY_CURRENT_USER\Control Panel\Input Methodgesetzt EnableHexNumpad „1“ auf. Wenn Sie es hinzufügen müssen, setzen Sie den Typ auf REG_SZ.

Sie sollten sich abmelden und sich nach dieser Registrierungsänderung anmelden oder sogar neu starten.

Wenn ich nicht weiß, was die Registrierung ist, weiß ich auch nicht, wie ich es versuchen soll. Vanuan vor 12 Jahren 1
Wenn Sie nicht wissen, was die Registrierung ist, sollten Sie sie niemals anfassen. Bitten Sie jemanden, den Sie kennen, um Hilfe. Wug vor 10 Jahren 3
+1, aber ein paar Dinge: (i) In Firefox und IE enthält der Hex-Code, den Sie eingeben möchten, einen Buchstaben, der der Tastenkombination Alt + [Buchstabe] für ein Menü entspricht, und das Menü erscheint und Sie nicht Holen Sie sich Ihren Charakter (dieser Bruch E & F auf beiden, A auf IE und B auf Firefox, Notizblock funktioniert gut, ebenso wie das "run" -Feld von winkey + R); (ii) REG_SZ kann im Rechtsklick-Menü für neue Einträge als "Registrierungszeichenfolge" angezeigt werden Chris H vor 8 Jahren 0
Soll das in allen Anwendungen funktionieren? Ich habe es in Notepad, Notepad ++, Firefox und sogar Excel arbeiten lassen, aber nicht in Word, Outlook, PowerPoint oder Lync. Dies ist auf W7. Didier L vor 8 Jahren 0
@DidierL: Ich würde vermuten, dass es bei Anwendungen funktionieren würde, die Tastaturfunktionen nicht missbrauchen. harrymc vor 8 Jahren 0
In diesen Anwendungen wird das + ignoriert und es werden nur Dezimalwerte verwendet. Ich kann die Dezimalform jedoch nicht für andere Anwendungen verwenden, und es ist ärgerlich, dass es zwei verschiedene Methoden mit zwei verschiedenen Werten gibt. Ich bin überrascht, dass dies nicht in allen MS Office-Anwendungen ordnungsgemäß funktioniert. Didier L vor 8 Jahren 0
@DidierL: Office ist nicht die am besten gestaltete Software der Welt. Wenn Sie nach einer allgemeinen Methode suchen, habe ich das [UnicodeInput-Hilfsprogramm] (http://www.fileformat.info/tool/unicodeinput/) und auch den Artikel [Standardmethoden zur Eingabe von Unicode-Zeichen] (http: // www .fileformat.info / tip / microsoft / enter_unicode.htm). harrymc vor 8 Jahren 0
Danke, ich habe in letzter Zeit viel nach den Standardmethoden gesucht, und ich würde es vorziehen, das Dienstprogramm zu meiden (funktioniert wahrscheinlich, aber ich bin mir nicht sicher, ob ich es auch kurzfristig benutzen darf). Ich habe nur gehofft, eine Bestätigung zu erhalten, ob es in Office (2013) funktionieren sollte. Didier L vor 8 Jahren 0
21
Mike Hanson

Die Antwort von harrymc ist gut, sofern Sie die Registrierungseinstellungen ändern können / dürfen.

Wenn nicht, können Sie das Zubehör für den Windows-Rechner verwenden, um von hexadezimal nach dezimal zu konvertieren. Im Standardmodus ist dies nicht der Fall: XP und Vista haben einen wissenschaftlichen Modus, während Windows 7, 8, 8.1 und 10 einen "Programmiermodus" haben.

Wählen Sie Hex base und geben Sie Ihre Hexadezimalzahl ein. Wechseln Sie dann in Dez- Basis, um den entsprechenden Wert in Dezimalzahlen anzuzeigen. Dies ist die Nummer, die Sie in Ihr numerisches Tastenfeld eingeben müssen, während Sie die Alt- Taste gedrückt halten.

Dies hängt möglicherweise von der Eingabesprache ab, und Sie müssen möglicherweise dem Dezimalwert eine Null voranstellen.

Sie können auch mit `set / a` in einem Befehlsfenster berechnen ;-). Um hex = 4321 in dezimal umzuwandeln, geben Sie einfach "set / a 4 * 16 * 16 * 16 + 3 * 16 * 16 + 2 * 16 + 1" ein und das Ergebnis wird als 17185 angezeigt Kurt Pfeifle vor 13 Jahren 0
Alternativ zeigt "set / a 0x4321" auch 17185 an. Marcks Thomas vor 11 Jahren 3
Die Antwort ist irreführend, da nicht erwähnt wird, dass eine führende Null erforderlich ist, wenn eine Dezimalzahl außerhalb des ASCII-Bereichs (> 127) verwendet wird. Wenn Sie U + 23AF eingeben und daher 23AF in Dezimalzahl konvertieren möchten, dann 9135 und dann Alt 9135 verwenden, erhalten Sie »» «(U + 00BB). Sie müssen Alt 09135 (mit dem Nummernblock) eingeben, um das richtige Zeichen zu erhalten. Jukka K. Korpela vor 10 Jahren 5
Die Methode, die Dezimalzahlen verwendet, hängt von der „Eingabesprache“ (als Microsoft-Konzept) ab, sodass die Ergebnisse je nach System und Programm variieren. Wenn in den meisten Windows-Programmen beispielsweise die Systemsprache Englisch oder eine andere westliche Sprache eingestellt wurde, können nur Windows Latin-1-Zeichen auf diese Weise eingegeben werden. Alle Alt 0n für n> 255 funktionieren dann „modulo 256“, dh n wird durch Division durch 256 auf den Bereich 0 ... 255 reduziert und der Rest genommen. Jukka K. Korpela vor 10 Jahren 8
Genau wie @Jukka erwähnt, [die Seite, auf die ich in meiner Antwort verlinkt habe] (http://www.fileformat.info/tip/microsoft/enter_unicode.htm) schlägt auch vor, dass Sie eine Null vor setzen müssen, und dass dies abhängt auf der Eingabesprache. Arjan vor 8 Jahren 0
@ JukkaK.Korpela, ich habe jahrelang falsch verstanden, dass Alt + nnnn vierstellig war und nie verstehen konnte, warum Unicode-Dezimalwerte> 999 nicht funktionieren würden. Es ist, weil Alt + nnnn _really_ ist Alt + 0nnn ... Alt + 0nnnn. Ich könnte dich küssen. JMD vor 7 Jahren 0
Diese Antwort ist falsch. Alt + 0nnn (0-255) gibt ein Zeichen aus der ANSI-Codepage des Systems ein (z. B. 1252). Der eingegebene Wert ist wie oben erwähnt modulo 256. Alt + nnn (0-255) ohne führende Null gibt ein Zeichen aus der OEM-Codepage des Systems ein (z. B. 437 oder 850). Die ersten 31 Codes sind jedoch nicht die normalen ASCII-Steuerzeichen, sondern die Glyphen, die für diese Zeichen auf Computern der 80er Jahre angezeigt wurden, auf denen DOS ausgeführt wird. In der Windows-API entspricht letzteres der Verwendung des Flags "MB_USEGLYPHCHARS", wenn Bytes über "MultiByteToWideChar" in Unicode dekodiert werden. eryksun vor 6 Jahren 2
Das funktioniert nicht - wie bereits erwähnt, hängt es von der gewählten Codepage ab. Alt + 0nnnn hat für mich nur in Word funktioniert, sonst schlägt es fehl. Beachten Sie, dass die Antwort viele Upvotes hat und als akzeptabel markiert ist. Daher ist es sehr irreführend für Leute, die nach Antworten suchen und sich bemühen, Ihre Lösung zu replizieren, die einfach nicht funktioniert. Mikhail V vor 5 Jahren 0
17
Arjan

Unter Mac OS X: Öffnen Sie International in den Systemeinstellungen und wählen Sie im Eingabemenü "Unicode Hex Input", um diese Option dem Eingabemenü hinzuzufügen. Klingt offensichtlich, ist aber in der langen Liste der Sprachen zwischen Ukrainisch und Vietnamesisch gut versteckt. Wenn Sie diese Option ausgewählt haben, halten Sie die Wahltaste gedrückt und geben Sie den 4-stelligen Hex-Code ein.

Unter OS X: Calculator kann auch der Programmer-Modus (Cmd-3) eingestellt werden, der die Eingabe von Dezimal-, Oktal- und Hexadezimal-Codes ermöglicht, die dann als ASCII oder Unicode angezeigt werden. Copy gibt jedoch den Code an, nicht das Zeichenäquivalent. Jemand?

(Unter Windows siehe Unicode-Zeichen in Microsoft Windows eingeben ; andere Eingabemethoden siehe Wikipedia .)

Und hier zu Super User:

Und in die Extreme gehen:

9
JMD

In Ubuntu (und Varianten davon wie LinuxMint) können Sie Unicode-Werte eingeben, indem Sie Ctrl+ Shift+ ugefolgt von dem Unicode-Wert und der Eingabetaste drücken, zum Beispiel:

Ctrl+ Shift+ u 263aGeben Sie dann die Erträge ein:

Text: ☺
Screenshot:Alt-Text

Möglicherweise können Sie dies mit AutoHotkey koppeln, um die Eingabe zu erleichtern oder möglicherweise in Windows einzugeben.

Leider funktioniert es nur in GTK + -Anwendungen. Mechanical snail vor 11 Jahren 1
Sie können auch die Strg-Umschalttaste gedrückt halten, während Sie den Code eingeben. Dadurch müssen Sie nicht die Eingabetaste drücken. Mechanical snail vor 11 Jahren 2
Ich habe eine bessere Lösung gefunden: Sie können zu jedem vorhergehenden Zeichen Akzente setzen, indem Sie Unicode kombinieren, indem Sie diakritische Zeichen kombinieren. Unicode 0301 - 0308 sind für Pinyin nützlich. zum Beispiel: "a" + [ctrl] [shift] [u] + 0301 [return] -> á. Die Pinyin-Liste: ó -> 0301; ò -> 0300; - -> 0304; ŏ -> 0306; ö -> 0308; siehe http://en.wikipedia.org/wiki/Combining_character#Unicode_ranges emf vor 11 Jahren 1
4
Simon A. Eugster

Ich habe ein kleines AutoHotkey-basiertes Unicode-Eingabewerkzeug geschrieben, da ich keine bessere Lösung gefunden habe. Mit Shift+ Ctrl+ können Sie Unicode-Zeichen einfügen U.

Unicode-Dialog

Im Wesentlichen wird der Eintrag in ein Unicode-Zeichen konvertiert und an der Cursorposition "eingegeben".

Es werden keine 6-stelligen Unicode-Zeichen unterstützt. Wenn Sie ein Eingabefeld haben, in dem der gesamte Text bei Fokusverlust ausgewählt wird, wird der gesamte Text überschrieben (ich denke, ich erinnere mich, dass eine alte Firefox-Version dieses Verhalten zeigte).

Als Referenz hier die AutoHotkey- Quelle, wenn Sie sie selbst kompilieren möchten:

#SingleInstance force #Persistent ;Menu, Tray, icon, unicode.ico Menu, Tray, nostandard ; Put the following menu items on top (default: bottom) Menu, Tray, add, Info, InfoHandler, -10 Menu, Tray, add Menu, Tray, standard ; Add default menu items at the bottom return  InfoHandler: MsgBox Press Shift+Ctrl+U to get an entry field for unicode points (see decodeunicode.org for a list).`n`nAuthor: Simon A. Eugster <simon.eu@gmail.com> / granjow.net return  +^u:: InputBox, codepoint, Unicode code point, U+ if not ErrorLevel Send  return 
2
Chris J

Es hängt auch davon ab, wo Sie die Sonderzeichen verwenden möchten. Bei MS Office-Anwendungen müssen Sie nicht die ASCII-Codes für bestimmte Zeichen kennen - zum Beispiel, um eine Diarese einzugeben (dh die beiden Punkte, die Sie über einigen Zeichen in Wörtern wie "naiv" sehen), in Word / Outlook / etc können Sie Strg + ':' (dh Strg + Umschalt +;) gefolgt von 'i' drücken.

Eine Liste mit Verknüpfungen finden Sie unter http://word.mvps.org/FAQs/General/InsertSpecChars.htm ... scrollen Sie einfach zu "Internationale Zeichen".

Ich weiß nicht, ob Nicht-Office-Apps ähnliche Verknüpfungen unterstützen.

1
Mechanical snail

Linux (einschließlich Qt / KDE-Anwendungen)

Wie JMD erwähnt, können Sie halten Sie Ctrl- Shift, geben u1f4a9, und lassen, um U + 1F4A9 in GTK + Anwendungen (einschließlich GNOME - Programme, Firefox, Chrom und Libreoffice auch unter KDE) zu geben. Einige Programme auch Typisierung in Folge unterstützen Ctrl- Shift- U, 1, f, 4, a, 9, Enter.

Leider funktioniert dies nicht in Qt-Anwendungen (einschließlich KDE-Programmen, Mathematica und VLC). Für BMP-Zeichen gibt es eine Unicode-IBus-Eingabemethode. Um dies zu aktivieren, öffnen Sie die IBus-Voreinstellungen und fügen Sie die Eingabemethode "Other - Unicode (m17n)" hinzu (die beiden Pakete ibus-m17n und ibus-qt4 müssen installiert sein). Wenn sich der Cursor in einem Textbereich befindet, aktivieren Sie die Eingabemethode (mithilfe der IBus-Symbolleiste oder der Tastenkombination). Bei aktivierter Eingabemethode können Sie Ctrl- Shift- Ugefolgt von 4 Hex-Ziffern eingeben, um das entsprechende Unicode-Zeichen einzugeben. Dies funktioniert jedoch nur für BMP-Zeichen.

(Unter Ubuntu getestet.)

Funktioniert auf KDE nicht für mich .. Jack vor 10 Jahren 0
Wo finde ich die IBus-Präferenzen? anarcat vor 5 Jahren 0
0
Aske B.

Vielleicht nicht genau das, was Sie fragen, aber danach habe ich gesucht. Unter Windows 10 können Sie mit Win+ .oder Win+ ;einen Emoji-Browser öffnen:

Wie Sie im obigen Bild sehen können, können Sie auch durch einfaches Tippen suchen.