2010-09-15 23 views
2

Je voudrais convertir un char en minuscule dans une application J2ME. Le Character.toLowerCase() habituel ne fonctionne pas pour un caractère Unicode arbitraire dans J2ME, donc j'ai besoin de light API, ou, de préférence, un morceau de code qui le ferait.Convertir char en minuscule dans J2ME sans utiliser la classe Character

Merci!

+3

quel caractère exactement vous voulez convertir en plus bas? quelle gamme particulièrement? –

+0

Pourquoi devrais-je me particulariser? J'aime une solution générale. * Si * je l'ai fait, je pourrais regarder moi-même dans les spécifications Unicode. Je ne veux pas reconfigurer la roue: quelqu'un doit avoir écrit ce genre de code * général *. –

+0

OK. Le document officiel indique que * cela ne fonctionne que pour les caractères latin-iso *. Les autres caractères ne sont pas modifiés. C'est tout. En d'autres termes, il est mis en œuvre uniquement pour ansi. Merci. –

Répondre

0

Je viens de copier certains des trucs de Java SE 1.3 et inclus dans mon application J2ME. Généralement, ce sont quelques méthodes et trois grands tableaux de la classe Character.

0
char toLowerCase(char c){ 
    if(c>=97 && c<=122) 
     return (char) (c-32); 
    else 
     return c; 
} 
+0

Tout simplement génial. – Sid

+0

Parfait. Mais s'il vous plaît dites-moi comment dans le monde il est supposé travailler avec des caractères non-ASCII (comme Ą, Ć, Ę, Ó, Ś ... Sans oublier le grec ou le cyrillique)? –

+3

-1 la question concerne unicode, votre réponse ne concerne que les ascii. – josefx

4

Sur la base de la méthode toLowerCase() de Character dans JDK JavaSE:

char lowerChar = (char)CharacterData.of((int)upperChar).toLowerCase((int)upperChar); 

Vous pouvez lire le code source du JDK et comprendre ce qui est vraiment fait ici et d'appliquer la même chose avec vos propres classes dans JME.


Ressources:

+0

Ceci répond au titre de la question, mais pas au message de question. – BalusC

+0

@BalusC, je sais que ça ne marchera pas comme c'est le cas dans JME, je dis simplement que la meilleure façon de le faire est de regarder comment cela fonctionne avec JSE. (Edité pour le rendre plus clair) –

+0

OK, mon mauvais. Je vais changer le titre. Bien sûr, il y a la possibilité de porter certaines classes à j2me. Cela pourrait être plus facile si ce n'est rien d'autre. –