Salut J'ai un scénario où j'ai besoin de convertir le jeu de caractères par défaut devrait être remplacé par UTF-8. J'utilise en-dessous de la classe. Mais je ne reçois pas la sortie attendue. Parce que j'utilise un système Unix qui a UTF-8 par défaut comme charset et je compare les résultats là-bas. Ai-je tort quelque part dans ce programme?Conversion de charset Java
public class CharsetDisplay {
public static void main(String[] args) {
System.out.println(Charset.defaultCharset().name());
System.out.println(Charset.isSupported("UTF-8"));
final Charset UTF8_CHARSET = Charset.forName("UTF-8");
try {
byte[] byteArray = new byte[] {34,34,0};
String str = new String(byteArray,UTF8_CHARSET);
System.out.println("String*** "+str);
System.out.println("String to Hex *** "+stringToHex(str));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
sortie Imprime comme
windows-1252
true
String*** ""
note après "" dans la sortie de chaîne, j'ai un spl char, que je ne suis pas dans un env unix
Oops désolé pour le format perdu dans l'extrait de code ci-dessus .. Stackoverflow juste enlevé toutes les nouvelles lignes :( – javanerd
Qu'est-ce que vous essayez de faire exactement? Octets '34 34 00' en UTF-8 signifie« double-citation double-citation null », ce qui est ce que vous avez –
Depuis que je voyais la sortie en eclipse, j'obtenais un caractère spécial après une double citation.J'ai essayé via l'invite de commande dans dos et ça a bien fonctionné Merci – javanerd