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 0x00000xFFFF. 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?