Convertir très grand nombre en unicode -JAVA
Jehol
-
danimo -
danimo -
Bonjour à tous,
j'ai récupérer le code JAVA d'un algorithme qui analyse des chaines de caractères (unicode), et je souhaite l'utiliser pour analyser des chaines de nombres (pouvant être très grand: une chaine de nombre (séparés par des "-" pourrait par exemple être 120-45-7684-34-439743-45-7684 etc.
Ce que je ne sais pas faire, c'est convertir un nombre (pouvant être très grand) en caractère unicode.
Quelqu'un pourrait-il me donner un exemple pour par exemple le nombre 439743 (à ma connaissance il y a de l'espace dans unicode 5 pour plus d'1 million de caractère).
Merci d'avance.
simon
j'ai récupérer le code JAVA d'un algorithme qui analyse des chaines de caractères (unicode), et je souhaite l'utiliser pour analyser des chaines de nombres (pouvant être très grand: une chaine de nombre (séparés par des "-" pourrait par exemple être 120-45-7684-34-439743-45-7684 etc.
Ce que je ne sais pas faire, c'est convertir un nombre (pouvant être très grand) en caractère unicode.
Quelqu'un pourrait-il me donner un exemple pour par exemple le nombre 439743 (à ma connaissance il y a de l'espace dans unicode 5 pour plus d'1 million de caractère).
Merci d'avance.
simon
Configuration: Linux Firefox 3.5.7
2 réponses
-
Salut,
En UNICODE chaque caractere est représenté selon le format suivant: \uhhhh.
Toujours \u ( u impérativement minuscule).
hhhh est une valeur hexa décimale.
Dans ton cas, tu dois représenter des nombres selon le format UNICODE.
Un nombre est composé des caractères numériques 0 à 9.
En Unicode, le code de ces caractères 0 à 9 est \u0030 à \u0039.
Exemple:
La chaîne "1234567890" sera la suivante en Unicode:
"\u0031\u0032\u0033\u0034\u0035\u0036\u0037\u0038\u0039\u0030".
La chaîne (ton exemple) "439743" >>>>>>>> "\u0034\u0033\u0039\u0037\u0034\u0033".
Je suppose que tu veux convertir le nombre "439723".
On remarque qu'on a toujours /u003 donc qu'il faudra y ajouter (par compactage) successivement 4, 3, 9, 7, 4 et 3.
Une solution serait (il y en a d'autres) d'utiliser la méthode substring(int indiceDebut, int indiceFin)
pour extraire chaque caractère de la chaîne "439723" afin de l'ajouter d'abord à \u003, puis \u003car à
la chaîne devant contenir les caractères Unicode.
Exemple:String ma_chaineN = "439723"; String ma_chaineU = ""; String debUnicode = "\\u003"; // la partie commune String debU = ""; int longueur_chaineN = ma_chaineN.length(); int indiceDebut = 0; int indiceFin = 0; for(indiceDebut = 0; indiceDebut <longueur_chaineN; indiceDebut++) { debU = debUnicode; debU+= ma_chaineN.substring(indiceDebut, indiceDebut +1); ma_chaineU+= debU; System.out.println("ma_chaineU: " + ma_chaineU); } System.out.println("\n\nma_chaineU: " + ma_chaineU);
Cordialement,
Dan -
Et moi celui du mexique...
il reste à extraire (avant) les nombres de la chaine où il sont séparés par un '-':
un petit split fera l'affaire non ? et tu les récupères dans un tableau...
Dan