Wie geben Sie Unicode-Zeichen mit Hexadezimalcodes ein?

77

Dies ist in Windows der Fall, aber Antworten für andere Betriebssysteme können für andere nützlich sein.

Die meisten Anleitungen sagen etwas zum Effekt von "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'), aber nicht für Hexadezimalcodes (wie U + 0041 für 'A').

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

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

Wille
quelle
1
Dies funktioniert gut für Unicode-Zeichen, die keine hexadezimalen Zeichen A bis F enthalten. Diese sollten lauten: für Dezimalcodes . Es gibt viele Hexadezimalzahlen, die kein AF verwenden. Wie 10, was dann nicht zehn ist ...
Arjan
1
Das ist für mich nutzlos, wenn ich ein u + 23AF eingeben muss.
Wird
4
Mein Punkt ist: Sie können Dinge wie u + 0041 (hex 41, dezimal 65) auch nicht über die Zehnertastatur eingeben (da man dann 65 anstatt 41 eingeben müsste) - fileformat.info/info/unicode/char/0041 Die Verwendung des Alt-Tricks funktioniert also gut für Dezimalcodes, aber nicht für Hexadezimalcodes .
Arjan
1
@Will: Die Methode "alt + NN ..." erwartet eine dezimale und keine hexadezimale Schreibweise der Zeichenposition. Unicode verwendet Hex. Wenn Sie also eingeben möchten, was Unicode als "U + 23AF" darstellt, müssen Sie hexadezimal == 23AF in dezimal == 9135 konvertieren und dann "alt + 9135" eingeben. Dies ist die einzige allgemeine Methode, die angeboten wird. Aber: Sie wollten, dass das Zeichen im Textfeld oder Dokument immer noch nicht wie erwartet angezeigt wird, wenn in Ihrer aktuell ausgewählten Schriftart die Stelle "U + 23AF" nicht ausgefüllt ist (oder wenn es sich überhaupt nicht um eine Unicode-Schriftart handelt!).
Kurt Pfeifle
@Arjan: Sie müssen nicht geben hex Zeichen mit dem „alt + nnn“ -Methode. Sie geben nur Dezimalzeichencodes ein . Aus diesem Grund können Sie nicht einmal gerade "U + 1234" -Strings (die keine Ihrer verabscheuungswürdigen "af" -Zeichen enthalten) als "alt + 1234" in Ihren Ziffernblock eingeben, sondern müssen hex == 1234 in dec = konvertieren = 4660 und geben Sie dann "alt + 4660" ein, bevor Sie ( MAI ) das bekommen, was Sie wollen. Ihre Aussage "Verwenden des Alt-Tricks funktioniert nicht für hexadezimale Codes" behebt das Problem genau, aber Sie haben es selbst nicht verstanden :-)
Kurt Pfeifle

Antworten:

23

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

Ist dies nicht der Fall, können Sie mit dem Windows-Taschenrechner von hexadezimal nach dezimal konvertieren. Im Standardmodus ist dies nicht möglich: XP und Vista verfügen über einen "wissenschaftlichen Modus", während Windows 7, 8, 8.1 und 10 über einen "Programmiermodus" verfügen.

Wählen Sie Hex base und geben Sie Ihre Hexadezimalzahl ein. Ändern Sie dann auf Dezember Basis den Gegenwert in Dezimal zu sehen. Das ist die Nummer, die Sie in Ihren Ziffernblock 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 dem Dezimalwert möglicherweise eine Null voranstellen.

Mike Hanson
quelle
du kannst auch mit set /ain einem befehlsfenster rechnen ;-). Um hex = 4321 in Dezimalzahl umzuwandeln, geben Sie einfach ein set /a 4*16*16*16+3*16*16+2*16+1und das Ergebnis wird als 17185 angezeigt
Kurt Pfeifle
3
Alternativ set /a 0x4321wird auch 17185 angezeigt.
Marcks Thomas
6
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 verwendet wird (> 127). Wenn Sie U + 23AF eingeben und daher 23AF in Dezimalzahl 9135 konvertieren möchten und dann versuchen, Alt 9135 zu verwenden, erhalten Sie "» "(U + 00BB). Sie müssen Alt 09135 (mit dem Nummernblock) eingeben, um das richtige Zeichen zu erhalten.
Jukka K. Korpela
8
Die Methode, bei der Dezimalzahlen verwendet werden, hängt von der Eingabesprache (als Microsoft-Konzept) ab, sodass die Ergebnisse je nach System und Programm variieren. Beispielsweise können in den meisten Windows-Programmen, wenn die Systemsprache auf Englisch oder eine andere westliche Sprache eingestellt wurde, nur Windows Latin 1-Zeichen auf diese Weise eingegeben werden. Alle Alt 0n für n> 255 funktionieren dann "modulo 256", dh wenn n durch 256 dividiert und der Rest genommen wird, wird es auf den Bereich 0 ... 255 reduziert.
Jukka K. Korpela
2
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 modulo 256 wie oben erwähnt. 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 1980er Jahre unter DOS angezeigt wurden. Letzteres entspricht in der Windows-API der Verwendung des MB_USEGLYPHCHARSFlags beim Dekodieren von Bytes nach Unicode über MultiByteToWideChar.
Eryk Sun
39

Dies finden Sie unter 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 schwierigsten einzugeben:

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

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

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

Harrymc
quelle
1
Wenn ich nicht weiß, was die Registrierung ist, weiß ich auch nicht, wie ich es versuchen soll.
Vanuan
5
Wenn Sie die Registrierung nicht kennen, sollten Sie sie niemals berühren. Bitten Sie jemanden, den Sie kennen, um Hilfe.
Wug
+1 aber ein paar Dinge: (i) In Firefox und IE enthält der Hex-Code, den Sie eingeben möchten, einen Leeter, der der Tastenkombination Alt + [Buchstabe] für ein Menü entspricht Holen Sie sich Ihren Charakter (diese Pause E & F auf beiden, A auf IE und B auf Firefox, Notizblock funktioniert gut, wie die winkey + R "run" Box); (ii) REG_SZ wird im Kontextmenü des neuen Eintrags möglicherweise als "Registrierungszeichenfolge" angezeigt
Chris H,
Soll das in allen Anwendungen funktionieren? Ich habe es in Notepad, Notepad ++, Firefox und sogar Excel funktioniert, aber nicht in Word, Outlook, PowerPoint oder Lync. Dies ist auf W7.
Didier L
3
Hallo Harrymc. Wie schreibe ich hexadezimale Buchstaben ein? Beispiel: "👉" = 👉 - Nachdem ich Falt gedrückt habe, wird der Menübefehl unter Windows ausgeführt. Es fliegt nicht mit der Konvertierung nach Dezimal (128073), ohne führende Nullen hinzuzufügen.
Matas Vaitkevicius
17

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

Ebenfalls unter OS X: Calculator kann auf den Programmer-Modus (Cmd-3) eingestellt werden, der die Eingabe von Dezimal-, Oktal- und Hexadezimalcodes ermöglicht, die dann als ASCII- oder Unicode-Code angezeigt werden. Copy gibt jedoch den Code und nicht die Zeichenäquivalente (n) an. Jemand?

(Für Windows siehe So geben Sie Unicode-Zeichen in Microsoft Windows ein ; für andere Eingabemethoden siehe Wikipedia .)

Und hier auf Super User:

Und um in die Extreme zu gehen:

Arjan
quelle
9

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

Ctrl+ Shift+ u 263adann Renditen eingeben:

Text: ☺
Screenshot:Alt-Text

Möglicherweise können Sie dies mit AutoHotkey koppeln, um die Eingabe zu vereinfachen, oder um eine Eingabe in Windows zu ermöglichen.

JMD
quelle
2
Leider funktioniert es nur in GTK + -Anwendungen.
Mechanische Schnecke
2
Sie können auch die Strg-Umschalttaste gedrückt halten, während Sie den Code eingeben. Dadurch müssen Sie anschließend nicht die Eingabetaste drücken.
Mechanische Schnecke
1
Ich habe eine bessere Lösung gefunden: Mit Unicode können Sie jedem vorhergehenden Zeichen Akzentzeichen hinzufügen, indem Sie diakritische Zeichen kombinieren. Unicode 0301 - 0308 sind nützlich für Pinyin. Zum Beispiel: "a" + [Strg] [Umschalt] [u] + 0301 [Return] -> á. Die Pinyin-Liste: ó -> 0301; ò -> 0300; 0304; ŏ -> 0306; ö -> 0308; siehe en.wikipedia.org/wiki/Combining_character#Unicode_ranges
emf
6

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

Unicode-Dialog

Grundsätzlich konvertiert es den Eintrag in ein Unicode-Zeichen und "tippt" ihn an der Cursorposition.

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

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 <[email protected]> / granjow.net
return

+^u::
InputBox, codepoint, Unicode code point, U+
if not ErrorLevel
    Send {U+%codepoint%}
return
Simon A. Eugster
quelle
2

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

Eine Liste der Verknüpfungen finden Sie unter http://word.mvps.org/FAQs/General/InsertSpecChars.htm. Scrollen Sie einfach nach unten zu "International Characters".

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

Chris J
quelle
2

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. Öffnen Sie dazu die IBus-Einstellungen 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 (über die IBus-Symbolleiste oder die Tastenkombination). Bei aktivierter Eingabemethode können Sie Ctrl- Shift- Ugefolgt von 4 Hexadezimalziffern eingeben, um das entsprechende Unicode-Zeichen einzugeben. Dies funktioniert jedoch nur für BMP-Zeichen.

(Getestet unter Ubuntu.)

Mechanische Schnecke
quelle
Funktioniert nicht mit KDE für mich ..
Jack
Wo finde ich die IBus-Einstellungen?
Anarcat
1

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

Bildbeschreibung hier eingeben

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

Aske B.
quelle