Convertir en tableau d'octets à compréhensibles Chaîne
J'ai un programme qui manipule des tableaux d'octets en Java, et maintenant, je voudrais écrire dans un fichier XML. Cependant, je ne sais pas comment je peux convertir le suivant tableau d'octets en une sensible Chaîne d'écrire dans un fichier. En supposant que c'était des caractères Unicode j'ai tenté le code suivant:
String temp = new String(encodedBytes, "UTF-8");
Seul à avoir le débogueur montrent que la encodedBytes contenir "\ufffd\ufffd ^\ufffd\ufffd-m\ufffd\ufffd\/ufffd \ufffd\ufffdIA\ufffd\ufffd"
. La Chaîne doit contenir une valeur de hachage dans alphanumériques format.
Comment pourrais-je tourner au-dessus de la Chaîne en un bon de Chaîne pour la sortie?
"Compréhensible" ou "sensible" à qui? L'objectif est à la sortie de sorte que l'homme peut comprendre les valeurs ou le but est de sortie dans un format qui peut être lu et converti en un tableau d'octets?
Serait sérialisation (les Tableaux en Java sont sérialisables)? Voir, par exemple, rgagnon.com/javadetails/java-0470.html
F: Pour l'amour du arguments, disons que l'lisible par l'homme, la sortie est "2jvjsgjlgj39hg9". Je voudrais le convertir la chaîne en question pour que la chaîne de sorte qu'il peut être lu par les hommes et stockées.
Serait sérialisation (les Tableaux en Java sont sérialisables)? Voir, par exemple, rgagnon.com/javadetails/java-0470.html
F: Pour l'amour du arguments, disons que l'lisible par l'homme, la sortie est "2jvjsgjlgj39hg9". Je voudrais le convertir la chaîne en question pour que la chaîne de sorte qu'il peut être lu par les hommes et stockées.
OriginalL'auteur Mike B | 2010-04-16
Vous devez vous connecter pour publier un commentaire.
Si votre chaîne est la sortie d'un hachage de mot de passe système (qu'elle regarde comme il pourrait l'être), alors je pense que vous devrez encoder en Base64 dans le but de le mettre en texte clair.
Procédure Standard, si vous avez cru octets que vous voulez à la sortie vers un fichier texte, est d'utiliser un codage en Base 64. Le Communes Codec bibliothèque fournit une Base64 encodeur /décodeur pour vous à utiliser.
Espère que cette aide.
Recommander à la personne de créer un attribut de l'élément pour indiquer l'encodage (avec une valeur par défaut dans la DTD ou le schéma de sorte que vous n'avez pas nécessairement besoin de le préciser dans la doc).
Yep, c'est une table de hachage. Je vais jeter un oeil à la chambre des Communes Codec choses bientôt. Je suppose que vous venez de télécharger les pots et les mettre en œuvre dans votre projet?
oui c'est vrai. Il devrait y avoir un guide de l'utilisateur sur le site pour obtenir vous avez commencé.
OriginalL'auteur
Le tableau d'octets n'a pas l'air comme de l'UTF-8. Notez que
\ufffd
(nomméREPLACEMENT CHARACTER
) est "utilisé pour remplacer un caractère entrant dont la valeur est inconnue ou non-représentable dans Unicode."Addendum: Voici un exemple simple de comment cela peut arriver. Lors de la coulée d'un
byte
, le point de code pour-
est ni UTF-8 ni les US-ASCII; mais il est valide ISO-8859-1. En effet, vous devez savoir ce que les octets représentent avant de les encoder dans unString
.De sortie:
OriginalL'auteur trashgod