Comment taper des caractères Unicode en utilisant des codes hexadécimaux?

77

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

La plupart des guides disent que "maintenez la touche Alt enfoncée et tapez le code sur le clavier". Cela fonctionne très bien pour les codes décimaux (comme 65 pour "A"), mais pas pour les codes hexadécimaux (comme U + 0041 pour "A").

Certaines applications fournissent d’autres fonctionnalités permettant de taper puis de transformer les codes de caractères Unicode hexadécimaux. 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 qui fonctionne avec l’entrée standard.

Volonté
la source
1
Cela fonctionne très bien pour les caractères Unicode qui n'incluent pas les caractères hexadécimaux de A à F. devrait se lire comme suit: pour les codes décimaux . Il y a beaucoup de nombres hexadécimaux qui n'utilisent pas AF. Comme 10, ce qui n'est pas dix alors ...
Arjan
1
Cela m'est inutile lorsque je dois taper un u + 23AF.
Will
4
Mon problème est que vous ne pouvez pas taper des choses comme u + 0041 (hex 41, décimal 65) en utilisant le clavier numérique (car il faudrait alors taper 65 plutôt que 41) - fileformat.info/info/unicode/char/0041 Ainsi, l’utilisation de la astuce Alt fonctionne pour les codes décimaux, mais pas pour les codes hexadécimaux .
Arjan
1
@Will: la méthode "alt + NN ..." attend une notation décimale et non hexadécimale de la position du caractère. Unicode utilise hex. Donc, si vous voulez taper ce que Unicode représente par "U + 23AF", vous devez convertir hex == 23AF en décimal == 9135, puis taper "alt + 9135". C'est la seule méthode générale proposée. Mais: le caractère souhaité peut ne pas apparaître comme prévu dans le champ de texte ou le document, si la police "U + 23AF" n'est pas renseignée dans la police actuellement sélectionnée (ou s'il ne s'agit pas d'une police Unicode en premier lieu!).
Kurt Pfeifle
@Arjan: vous ne tapez pas de caractères hexadécimaux avec la méthode "alt + nnn". Vous ne tapez que des codes de caractère décimaux . C'est pourquoi vous ne pouvez pas taper même des chaînes "U + 1234" droites (qui ne contiennent aucun de vos caractères "af" répugnant) dans votre clavier numérique sous la forme "alt + 1234", mais vous devez convertir hex == 1234 en déc = = 4660 et puis tapez « alt + 4660 » avant ( MAI ) obtenir ce que vous voulez. Donc, votre affirmation "en utilisant l'astuce Alt-Astuce ne fonctionne pas pour les codes hexdécimaux" résout le problème exactement, mais vous avez manqué de le comprendre vous-même :-)
Kurt Pfeifle

Réponses:

23

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

Si ce n'est pas le cas, vous pouvez utiliser l'accessoire de calculatrice Windows pour convertir d'hexadécimal en 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électionnez Base hexadécimale , puis tapez votre nombre hexadécimal. Puis changez en Dec base pour voir la valeur équivalente en décimal. C'est le numéro que vous devez taper sur votre clavier numérique tout en maintenant la touche Alt enfoncée.

Cela peut dépendre de la langue de saisie et vous devrez peut-être ajouter un préfixe zéro à la valeur décimale.

Mike Hanson
la source
vous pouvez également calculer avec set /adans une fenêtre de commande ;-). Pour convertir hex = 4321 en décimale, il vous suffit de taper set /a 4*16*16*16+3*16*16+2*16+1et le résultat apparaîtra comme 17185
Kurt Pfeifle
3
Alternativement, set /a 0x4321sera également afficher 17185.
Marcks Thomas
6
La réponse est trompeuse, car elle ne mentionne pas qu'un zéro est nécessaire pour utiliser un nombre décimal en dehors de la plage Ascii (> 127). Si vous voulez taper U + 23AF et par conséquent convertir 23AF en décimal, puis utiliser 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
8
La méthode utilisant des nombres décimaux dépend de la «langue de saisie» (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 système est définie sur l'anglais ou une autre langue occidentale, seuls les caractères Windows Latin 1 peuvent être saisis de cette manière. Toute Alt 0n pour n> 255 fonctionnera alors en «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
2
Cette réponse est fausse. Alt + 0nnn (0-255) entre un caractère de 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 le zéro non significatif, entre un caractère de 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 les glyphes affichés pour ces caractères sur les PC des années 1980 fonctionnant sous DOS. Dans l'API Windows, cette dernière correspond à l'utilisation de l' MB_USEGLYPHCHARSindicateur lors du décodage d'octets au format Unicode via MultiByteToWideChar.
Eryk dim
39

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

J'ai testé cela sous Windows XP et Windows 2003. Cette méthode fonctionne quels que soient vos paramètres de langue, mais est la plus lourde à taper:

  1. Appuyez sur la touche Alt et maintenez-la enfoncée.
  2. Appuyez sur la touche + (plus) du clavier 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. Elle était déjà configurée sur mon ordinateur, mais certains lecteurs rapportent que cette méthode ne fonctionnait pas pour eux, et c’est probablement pour cette raison. Si vous ne savez pas ce qu'est le registre, veuillez ne pas essayer ceci. Sous HKEY_CURRENT_USER\Control Panel\Input Method, définissez EnableHexNumpad sur "1". Si vous devez l'ajouter, définissez le type sur REG_SZ.

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

harrymc
la source
1
si je ne sais pas ce qu'est le registre, je ne sais pas non plus comment essayer.
Vanuan
5
Si vous ne savez pas ce qu'est le registre, vous ne devriez jamais le toucher. Demandez de l'aide à quelqu'un que vous connaissez.
Wug
+1 mais quelques petites choses: (i) dans Firefox et IE si le code hexadécimal que vous essayez de taper contient un leeter correspondant au raccourci Alt + [lettre] d'un menu, le menu déroulant manque et vous ne le faites pas Obtenez votre personnage (cette pause E & F sur les deux, A sur IE et B sur Firefox, le bloc-notes fonctionne bien, tout comme la boîte Winkey + R "run"); (ii) REG_SZ peut apparaître dans le menu de la nouvelle entrée du clic droit en tant que "Chaîne de registre"
Chris H,
Est-ce que cela est supposé fonctionner dans toutes les applications? Je l’ai obtenu dans notepad, notepad ++, Firefox et même Excel, mais pas dans Word, Outlook, PowerPoint ou Lync. Ceci est sur W7.
Didier L
3
Salut Harry. Comment taper les lettres contenues dans l'hex? exemple: "👉" = 👉 - après avoir Fappuyé sur la commande alt du menu alt, elle est exécutée sous windows. Il ne vole pas avec une conversion décimale (128073), sans addition de zéros non significatifs.
Matas Vaitkevicius
17

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

Également sous OS X: la calculatrice peut être configurée en mode Programmeur (Cmd-3), ce qui permet de saisir des codes décimaux, octaux et hexadécimaux, qui sont ensuite affichés au format ASCII ou Unicode. Cependant, Copier donnera le code, pas l’équivalent (s) de caractères. N'importe qui?

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

Et ici sur Super User:

Et pour aller dans les extrêmes:

Arjan
la source
9

Dans Ubuntu (et ses variantes, comme LinuxMint), vous pouvez entrer des valeurs Unicode en appuyant sur Ctrl+ Shift+ usuivi de la valeur Unicode et de la touche Entrée, par exemple:

Ctrl+ Shift+ u 263apuis entrez les rendements:

Texte: ☺
Capture d'écran:texte alternatif

Vous pourrez peut-être coupler ceci avec AutoHotkey pour une saisie plus facile ou une saisie possible dans Windows.

JMD
la source
2
Malheureusement, cela ne fonctionne que dans les applications GTK +.
Escargot mécanique
2
Vous pouvez également maintenir la touche Ctrl-Maj enfoncée tout en saisissant le code, ce qui vous évitera d'appuyer sur Entrée par la suite.
Escargot mécanique
1
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 marques diacritiques. Unicode 0301 - 0308 sont utiles pour le pinyin. par exemple: "a" + [ctrl] [shift] [u] + 0301 [retour] -> á. La liste des pinyins: ó -> 0301; ò -> 0300; ō -> 0304; -> 0306; ö -> 0308; voir en.wikipedia.org/wiki/Combining_character#Unicode_ranges
emf
6

J'ai écrit un petit outil de saisie Unicode basé sur AutoHotkey car je n'ai pas trouvé de meilleure solution. Vous pouvez insérer des caractères unicode avec Shift+ Ctrl+ U.

Dialogue Unicode

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 la focalisation, tout le texte sera écrasé (je pense me souvenir d'une ancienne version de Firefox qui présentait ce comportement).

À titre de référence, voici la source AutoHotkey si vous souhaitez 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 <[email protected]> / granjow.net
return

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

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

Une liste de raccourcis est disponible sur http://word.mvps.org/FAQs/General/InsertSpecChars.htm ... faites simplement défiler jusqu'à "Caractères internationaux".

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

Chris J
la source
2

Linux (y compris les applications Qt / KDE)

Comme JMD l'a mentionné, vous pouvez appuyer sur Ctrl- Shift, taper u1f4a9et relâcher 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 en séquence Ctrl- Shift- U, 1, f, 4, a, 9, Enter.

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 Unicode IBus. Pour l'activer, ouvrez les préférences IBus et ajoutez la méthode de saisie "Autres - unicode (m17n)" (les deux packages ibus-m17n et ibus-qt4 doivent être installés). Lorsque le curseur est dans une zone de texte, activez la méthode de saisie (à l'aide de la barre d'outils IBus ou du raccourci clavier). Lorsqu'elle est active, la méthode de saisie vous permet de saisir Ctrl- Shift- Usuivi de 4 chiffres hexadécimaux pour saisir le caractère Unicode correspondant. Cela ne fonctionne que pour les caractères BMP, cependant.

(Testé sous Ubuntu.)

Escargot mécanique
la source
Ca ne marche pas sur KDE pour moi ..
Jack
Où puis-je trouver les préférences IBus?
Anarcat
1

Peut-être pas exactement ce que vous demandez, mais ce que je cherchais. Sous Windows 10, vous pouvez appuyer sur Win+ .ou Win+ ;pour ouvrir un navigateur emoji:

entrez la description de l'image ici

Comme vous pouvez le voir dans l'image ci-dessus, vous pouvez également effectuer une recherche en tapant simplement.

Aske B.
la source