Question Comment tapez-vous des caractères Unicode en utilisant des codes hexadécimaux?


Ceci est sous Windows, mais les réponses pour les autres systèmes d'exploitation peuvent être utiles pour les autres.

La plupart des guides disent quelque chose comme "maintenez la touche Alt enfoncée et tapez le code sur le clavier". Cela fonctionne bien pour les codes décimaux (comme 65 pour «A»), mais pas pour hexadécimal codes (comme U + 0041 pour un').

Certaines applications fournissent d'autres fonctionnalités permettant de saisir des codes de caractères hexadécimaux Unicode, puis de les transformer. Word vous permet de taper le code (tel que 200f), puis de le convertir en Unicode en tapant Alt-X.

Je cherche une méthode générale pour cela qui fonctionnera avec l'entrée standard.


68
2017-07-26 06:27


origine


Cela fonctionne bien pour les caractères Unicode qui n'incluent pas les caractères hexadécimaux A à F.Devrais lire: pour les codes décimaux. Il y a beaucoup de nombres hexadécimaux qui n'utilisent pas A-F. Comme 10, ce qui n'est pas dix alors ... - Arjan
C'est inutile pour moi quand j'ai besoin de taper un u + 23AF. - Will
Mon point est: vous ne pouvez pas taper des choses comme u + 0041 (hex 41, décimal 65) en utilisant le pavé numérique non plus (comme il faudrait alors taper 65 plutôt que 41) - fileformat.info/info/unicode/char/0041 Donc, en utilisant le tour complet fonctionne bien pour les codes décimaux, mais pas pour les codes hexadécimaux. - Arjan
@Will: la méthode "alt + NN ..." attend décimal, pas la notation hexadécimale de la position du caractère. Unicode utilise hex. Donc, si vous voulez taper ce que Unicode représente comme "U + 23AF", vous devez convertir hex == 23AF en décimal == 9135, puis tapez "alt + 9135". C'est le seulement méthode générale il est proposé. Mais: Vous souhaitez que le caractère n'apparaisse toujours pas comme prévu dans le champ de texte ou le document, si la police "U + 23AF" n'est pas remplie dans votre police actuellement sélectionnée (ou s'il ne s'agit pas d'une police Unicode!). - Kurt Pfeifle
@Arjan: vous ne tapez pas hexagone caractères avec la méthode "alt + nnn". Vous ne tapez que décimal codes de caractères. C'est pourquoi vous ne pouvez pas taper les chaînes droites "U + 1234" (qui ne contiennent aucun de vos caractères "af" détestés) dans votre pavé numérique en tant que "alt + 1234", mais vous devez convertir hex == 1234 en dec = = 4660 puis tapez "alt + 4660" devant vous (MAI) obtenez ce que vous voulez. Donc, votre affirmation "utiliser l’Alt-trick ne fonctionne pas pour les codes hexdécimaux" résume le problème exactement, mais vous avez manqué de le comprendre vous-même :-) - Kurt Pfeifle


Réponses:


La réponse de harrymc est bonne, à condition que vous puissiez / pouvez modifier les paramètres du registre.

Sinon, vous pouvez utiliser l'accessoire de calculatrice Windows pour convertir de l'hexadécimal à décimal. Le mode par défaut ne le fera pas: XP et Vista ont un "mode scientifique", alors que Windows 7, 8, 8.1 et 10 ont un mode "programmeur".

Sélectionner Hexagone base, puis tapez votre nombre hexadécimal. Puis changez pour Déc base pour voir la valeur équivalente en décimal. C'est le numéro que vous devez taper dans votre pavé numérique tout en maintenant la touche enfoncée. Alt clé.

Ce pourrait dépendre de la langue d'entrée, et vous devrez peut-être préfixer un zéro à la valeur décimale.


21
2018-01-03 10:21



vous pouvez également calculer avec set /a dans une fenêtre de commande ;-). Pour convertir hex = 4321 en décimal, tapez simplement set /a 4*16*16*16+3*16*16+2*16+1 et le résultat sera 17185 - Kurt Pfeifle
Alternativement, set /a 0x4321 affichera également 17185. - Marcks Thomas
La réponse est trompeuse, car elle ne mentionne pas la nécessité d’un zéro en tête lorsque vous utilisez un nombre décimal en dehors de la plage Ascii (> 127). Si vous voulez taper U + 23AF et donc convertir 23AF en décimal, 9135, puis essayez Alt 9135, vous obtenez "" (U + 00BB). Vous devez taper Alt 09135 (en utilisant le pavé numérique) pour obtenir le bon caractère. - Jukka K. Korpela
La méthode utilisant des nombres décimaux dépend de la "langue de saisie" (en tant que concept Microsoft), de sorte que les résultats varient en fonction du système et du programme. Par exemple, dans la plupart des programmes Windows, lorsque la langue du système a été définie sur l'anglais ou sur une autre langue occidentale, seuls les caractères Windows Latin 1 peuvent être saisis de cette manière. Tout Alt 0n pour n> 255 fonctionnera alors "modulo 256", c'est-à-dire avec n réduit à la plage 0 ... 255 en divisant par 256 et en prenant le reste. - Jukka K. Korpela
Cette réponse est fausse. Alt + 0nnn (0-255) entre un caractère dans la page de code ANSI du système (par exemple, 1252). La valeur entrée est modulo 256 comme mentionné ci-dessus. Alt + nnn (0-255), sans zéro nul, entre un caractère dans la page de codes OEM du système (par exemple, 437 ou 850). Cependant, les 31 premiers codes ne sont pas les caractères de contrôle ASCII normaux, mais sont plutôt les glyphes affichés pour ces caractères sur les PC des années 1980 exécutant DOS. Dans l’API Windows, cette dernière correspond à l’utilisation du MB_USEGLYPHCHARSdrapeau lors du décodage des octets en Unicode via MultiByteToWideChar. - eryksun


Trouvé cela dans Comment entrer des caractères Unicode dans Microsoft Windows :

Je l'ai testé sur Windows XP et   Windows 2003. Cette méthode fonctionne   indépendamment de votre langue   paramètres, mais est le plus lourd   taper:

  1. Maintenez la touche Alt enfoncée.
  2. Appuyez sur la touche + (plus) du pavé numérique.
  3. Tapez la valeur unicode hexadécimale.
  4. Relâchez la touche Alt.

Hélas, cela semble nécessiter un   paramètre de registre. C'était déjà réglé   sur mon ordinateur, mais certains lecteurs   signaler que cette méthode n'a pas fonctionné   pour eux, et c'est probablement pourquoi. Si   vous ne savez pas ce qu'est le registre,   s'il vous plaît ne pas essayer ceci. En dessous de    HKEY_CURRENT_USER\Control Panel\Input Method, définissez EnableHexNumpad sur "1".   Si vous devez l'ajouter, définissez le type sur   être REG_SZ.

Vous devez vous déconnecter, puis vous connecter après cette modification du registre, ou même redémarrer.


37
2017-10-23 14:42



si je ne sais pas ce que le registre est, alors je ne sais pas comment essayer ni l'un ni l'autre. - Vanuan
Si vous ne savez pas ce qu'est le registre, vous ne devriez jamais le toucher. Demandez l'aide de quelqu'un que vous connaissez. - Wug
+1 mais deux choses: (i) dans Firefox et IE, si le code hexadécimal que vous essayez de taper contient un paramètre correspondant au raccourci Alt + [lettre] d'un menu, le menu descend et vous ne le faites pas. obtenir votre personnage (cette pause E & F sur les deux, A sur IE et B sur Firefox, le bloc-notes fonctionne correctement, tout comme la boîte "run" de winkey + R); (ii) REG_SZ peut apparaître dans le nouveau menu de clic droit comme "Chaîne de registre" - Chris H
Est-ce censé fonctionner dans toutes les applications? Je l'ai fait fonctionner dans le bloc-notes, notepad ++, Firefox et même Excel, mais pas dans Word, Outlook, PowerPoint ni Lync. Ceci est sur W7. - Didier L
Salut harrymc. Comment puis-je taper des lettres contenues dans un hexagone? Exemple: "" = 👉  - après avoir frappé F La commande de menu alt est exécutée sur Windows. Il ne vole pas avec la conversion en décimal (128073) sans ajouter de zéros en tête. - Matas Vaitkevicius


Sous Mac OS X: ouvrez International dans les Préférences Système et dans le Menu Entrée, sélectionnez "Entrée Hex Unicode" pour ajouter cette option au menu de saisie. Cela semble évident, mais cela est bien caché dans la longue liste de langues, entre ukrainien et vietnamien. Lorsque cette option est sélectionnée, maintenez la touche Option enfoncée et tapez le code hexadécimal à 4 chiffres.

Également sur OS X: La calculatrice peut être réglée sur le mode Programmateur (Cmd-3), qui permet de saisir des codes décimaux, octaux et hexadécimaux, qui sont ensuite affichés en ASCII ou Unicode. Cependant, Copy donnera le code, et non le ou les caractères équivalents. N'importe qui?

(Pour Windows, voir Comment entrer des caractères Unicode dans Microsoft Windows; pour d'autres méthodes de saisie, voir Wikipédia.)

Et ici, sur Super User:

Et pour aller dans les extrêmes:


16
2017-07-26 07:45





Dans Ubuntu (et ses variantes, comme LinuxMint), vous pouvez entrer des valeurs Unicode en appuyant sur Ctrl+Décalage+tu suivi par la valeur Unicode et Entrée, par exemple:

Ctrl+Décalage+tu  263une ensuite, entrez les rendements:

Texte:
Capture d'écran: alt text

Vous pourriez être en mesure de coupler cela avec AutoHotkey pour faciliter la saisie, ou possible entrée dans Windows.


9
2017-10-22 21:46



Malheureusement, cela ne fonctionne que dans les applications GTK +. - Mechanical snail
Vous pouvez également maintenir la touche Ctrl-Maj enfoncée tout en tapant le code, ce qui évite d'avoir à appuyer sur Entrée après. - Mechanical snail
J'ai trouvé une meilleure solution: vous pouvez ajouter des marques d'accent à n'importe quel caractère précédent en utilisant Unicode combinant des signes diacritiques. Unicode 0301 - 0308 est utile pour Pinyin. par exemple: "a" + [ctrl] [décalage] [u] + 0301 [retour] -> á. La liste de pinyin: ó -> 0301; ò -> 0300; ō -> 0304; ŏ -> 0306; ö -> 0308; voir en.wikipedia.org/wiki/Combining_character#Unicode_ranges - emf


J'ai écrit une petite base AutoHotkey Outil de saisie Unicode parce que je n'ai pas trouvé de meilleure solution. Vous pouvez insérer des caractères Unicode avec Décalage+Ctrl+U.

Unicode dialog

Fondamentalement, il convertit l'entrée en un caractère Unicode et le "tape" à la position du curseur.

Il ne prend pas en charge les caractères Unicode à 6 chiffres. De plus, si vous avez un champ de saisie où tout le texte est sélectionné lors de la perte de focus, tout le texte sera écrasé (je pense que je me souviens d’une ancienne version de Firefox qui montrait ce comportement).

En référence, ici le AutoHotkey source si vous voulez le compiler vous-même:

#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 {U+%codepoint%}
return

4
2018-04-27 11:18





Cela dépend aussi de l'endroit où vous voulez utiliser les caractères spéciaux. Avec les applications MS Office, vous n'avez pas à connaître les codes ASCII de certains caractères - par exemple, pour taper une diarèse (c.-à-d. Les deux points que vous voyez au-dessus de certains caractères dans des mots tels que naïfs), dans Word / Outlook / etc, vous pouvez appuyer sur Ctrl + ':' (c'est-à-dire Ctrl + Shift +;) suivi de 'i'.

Il y a une liste de raccourcis disponibles à http://word.mvps.org/FAQs/General/InsertSpecChars.htm ... il suffit de faire défiler jusqu'à "International Characters".

Je ne sais pas si des applications non-Office prennent en charge des raccourcis similaires.


2
2018-01-25 09:34





Linux (y compris les applications Qt / KDE)

Comme JMD l’a mentionné, vous pouvez retenir Ctrl-Décalage, tapez u1f4a9, et libérer afin de taper U + 1F4A9 dans les applications GTK + (y compris les programmes GNOME, Firefox, Chromium et LibreOffice, même sous KDE). Certains programmes prennent également en charge la saisie séquentielle Ctrl-Décalage-U, 1, F, 4, une, 9, Entrer.

Malheureusement, cela ne fonctionne pas dans les applications Qt (y compris les programmes KDE, Mathematica et VLC). Pour les caractères BMP, il existe une méthode de saisie IBUS Unicode. Pour activer, ouvrez les préférences IBus et ajoutez la méthode de saisie "Other - unicode (m17n)" (les deux packages ibus-m17n et ibus-qt4 doit être installé). Lorsque le curseur se trouve dans une zone de texte, activez la méthode de saisie (à l'aide de la barre d'outils IBus ou du raccourci clavier). Actif, la méthode de saisie vous permet de taper Ctrl-Décalage-U suivi de 4 chiffres hexadécimaux pour saisir le caractère Unicode correspondant. Cela ne fonctionne que pour les caractères BMP.

(Testé sous Ubuntu.)


1
2017-11-28 00:38



Ne fonctionne pas sur KDE pour moi .. - Jack