Binaire de texte en Java
J'ai une Chaîne de caractères avec des données binaires en elle (1110100) je veux obtenir le texte afin que je puisse l'imprimer (1110100 serait d'imprimer des "t"). J'ai essayé cela, il est semblable à ce que j'ai utilisé pour transformer mon texte, binaire, mais ça ne marche pas à tous:
public static String toText(String info)throws UnsupportedEncodingException{
byte[] encoded = info.getBytes();
String text = new String(encoded, "UTF-8");
System.out.println("print: "+text);
return text;
}
Toutes les corrections ou suggestions seront très appréciés.
Merci!
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
Integer.parseInt
avec la base 2 (binaire) pour convertir la chaîne binaire d'un entier:Alors si vous voulez le caractère correspondant comme une chaîne de caractères:
char
.Je sais que les OP ont déclaré que leurs binaire a été dans un
String
format, mais par souci d'exhaustivité, je pensais que je voudrais ajouter une solution pour convertir directement unbyte[]
à une Chaîne alphabétique de la représentation.Comme casablanca indiqué en gros, vous avez besoin pour obtenir la représentation numérique du caractère alphabétique. Si vous tentez de convertir rien de plus que d'un seul caractère, il viendra sans doute un
byte[]
et au lieu de conversion que pour une chaîne, puis en utilisant une boucle for pour ajouter les caractères de chaquebyte
vous pouvez utiliser ByteBuffer et CharBuffer de faire la levée pour vous:N. B. Utilise le jeu de caractères UTF
Alternativement à l'aide de la Chaîne constructeur:
C'est mon seul (fonctionne bien sur Java 8):
et par la compression de la méthode d'impression de la console:
Je suis sûr qu'il y a "mieux" façons de faire cela, mais c'est la plus petite, vous pouvez probablement obtenir.
Voici la réponse.
Dans l'autre sens (Où "info" est le texte d'entrée et "s" de la version binaire)
Regarder la
parseInt
fonction. Vous pouvez aussi avoir besoin d'un plâtre et leCaractère.toString
fonction.