Conversion de chaînes codées Unicode en chaînes de lettres
Dans ce casse-tête de programmation, nous sommes confrontés au défi de transformer une chaîne contenant des caractères Unicode échappés ( uXXXX) en une chaîne de lettres Unicode réelles.
Pour illustrer le problème, considérons la chaîne "u0048u0065u006Cu006Cu006F Monde". Normalement, cette chaîne s'afficherait sous la forme "Hello World" une fois imprimée. Cependant, le problème survient lors de la lecture des noms de fichiers à partir d'un fichier. Les noms de fichiers stockés avec un encodage Unicode échappé peuvent ne pas être reconnus lors des recherches.
Pour résoudre ce problème, nous pouvons nous appuyer sur la bibliothèque Apache Commons Lang. Son StringEscapeUtils fournit une méthode appelée unescapeJava(), qui peut décoder efficacement les chaînes codées Unicode dans leurs représentations de lettres respectives.
Solution :
import org.apache.commons.lang.StringEscapeUtils; @Test public void testUnescapeJava() { String sJava="\u0048\u0065\u006C\u006C\u006F"; System.out.println("StringEscapeUtils.unescapeJava(sJava):\n" + StringEscapeUtils.unescapeJava(sJava)); }
Sortie :
StringEscapeUtils.unescapeJava(sJava): Hello
En utilisant la classe StringEscapeUtils, nous pouvons convertir avec succès la chaîne codée Unicode en une chaîne de lettres Unicode normales, permettant ainsi des opérations de recherche efficaces de noms de fichiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!