Comment écrire symbole unicode en Java?
4 réponses
vous cherchez U+10035, qui est en dehors de la Plan Multilingue De Base. Cela signifie que vous ne pouvez pas utiliser \u
pour spécifier la valeur, car cela ne concerne que U+0000 à U+FFFF - il y a toujours exactement quatre chiffres hexadécimaux après \u
. Donc actuellement Vous avez U+1003 ("MYANMAR LETTER GHA") suivi de'5'.
malheureusement Java ne fournit pas une forme littérale de chaîne de caractères qui rend les caractères en dehors du BMP simples à exprimer. Le seul moyen de l'inclure dans un littéral (mais toujours en ASCII) est d'utiliser le UTF-16 mère porteuse forme:
String cross = "\ud800\udc35";
vous pouvez aussi utiliser le code de 32 bits comme int
:
String cross = new String(new int[] { 0x10035 }, 0, 1);
(Ces deux chaînes sont égales.)
cela dit, votre console devra encore supporter ce caractère - vous devrez l'essayer pour savoir si oui ou non elle le fait.
je crois que Java représente les caractères Unicode de 0x0000
0xFFFF
. Java permettrait d'évaluer "\u10035"
ce que "\u1003"
is et un 5 Après ça.
0x10035 est un caractère Unicode supplémentaire. Vous aurez besoin de police qui le supporte si vous voulez que votre programme le rende.
http://www.oracle.com/technetwork/articles/javase/supplementary-142654.html
Unicode échappe à 4 caractères de long. Vous imprimez \u1003 suivi de'5'. Êtes-vous sûr que vous avez le droit de point de code?