System.out.println("hello world".getBytes("UTF-8"));
renvoie occasionnellement une valeur différente, pourquoi est-ce ?? Désolé, je suis toujours un Noob chez Java.Résultat incohérent pour String.getBytes()
System.out.println("hello world".getBytes("UTF-8"));
renvoie occasionnellement une valeur différente, pourquoi est-ce ?? Désolé, je suis toujours un Noob chez Java.Résultat incohérent pour String.getBytes()
Ce code imprime un tableau (octet []), mais il n'y a pas d'impression de tableau standard en Java. Ainsi, au lieu d'imprimer le contenu du tableau, le code affiche une référence de mémoire cryptique au tableau. Par exemple "[B @ 6bbc4459". Cette information n'est pas très utile et est susceptible de changer entre les exécutions de programme.
Si vous souhaitez afficher le contenu de la matrice, vous devez parcourir cette dernière.
Vous imprimez le résultat de l'appel toString()
sur un tableau d'octets. Que ne pas vous montre le contenu, comme les tableaux ne remplacent pas toString()
- il vous montre simplement quelque chose comme [[email protected]
où le [B
montre qu'il s'agit d'un tableau d'octets, et la valeur après le @ est un code de hachage.
Si vous voulez afficher le contenu du tableau d'octets sous forme de nombres, vous voulez quelque chose comme Arrays.toString
:
byte[] data = "hello world".getBytes("UTF-8");
System.out.println(Arrays.toString(data));
merci pour l'exemple, acclamations – user747912
S'il vous plaît nous montrer: (1) le code compilable complet; (2) ce que vous en obtenez normalement; (3) ce que vous obtenez de temps en temps. – NPE
sur la même machine, en utilisant la même JVM? –