Binaire à la Chaîne/Texte en Python
J'ai cherché de nombreuses fois en ligne et je n'ai pas été en mesure de trouver un moyen de convertir ma chaîne binaire variable, X
X = "1000100100010110001101000001101010110011001010100"
dans une chaîne UTF-8 valeur.
J'ai constaté que certaines personnes sont à l'aide de méthodes telles que
b'message'.decode('utf-8')
cependant, cette méthode n'a pas fonctionné pour moi, en tant que " b "est dit être inexistante, et je ne suis pas sûr de la façon de remplacer le "message" avec une variable. Non seulement, mais je n'ai pas été en mesure de comprendre comment cette méthode fonctionne. Est-il une meilleure alternative?
Alors comment pouvais-je convertir une chaîne binaire en une chaîne de texte?
EDIT: j'ai aussi n'a pas l'esprit ASCII décodage
PRÉCISIONS: Ici est précisément ce que je voudrais arriver.
def binaryToText(z):
# Some code to convert binary to text
return (something here);
X="0110100001101001"
print binaryToText(X)
Ce serait alors le rendement de la chaine...
hi
Grâce,
Daniel
X
est déjà une chaîne UTF8. Quel est votre sortie attendue?+mhawke je suis à la recherche d'une valeur renvoyée par une chaîne UTF-8. Le binaire est d'abord une chaîne de caractères, et je veux être en mesure de les convertir en binaire, dans une chaîne UTF-8. Veuillez me contacter si vous avez besoin de plus de précisions!
Êtes-vous à l'aide de Python 2 ou 3? Pourquoi avez-vous de la balise à la FOIS? En Python 3, les chaînes utf par défaut.
+juanpa.arrivillaga j'ai la possibilité d'utiliser les deux, dépend de l'option qui convient le mieux pour moi de l'utiliser. Je peux accepter des solutions pour les deux versions.
Eh bien, si vous utilisez Python 3, toutes les chaînes de caractères unicode, de sorte que semble être la solution la plus simple...
OriginalL'auteur Dan | 2016-11-11
Vous devez vous connecter pour publier un commentaire.
Il semble que vous essayez de décoder les caractères ASCII à partir d'une chaîne binaire de représentation (chaîne de bits) de chaque caractère.
Vous pouvez prendre chaque bloc de huit caractères (un octet), que convertir un entier, puis convertir un personnage avec
chr()
:En supposant que les valeurs codées dans la chaîne de caractères ASCII sont cela vous donnera les personnages. Vous pouvez généraliser comme ceci:
Si vous voulez le garder à l'origine, de l'encodage vous n'avez pas besoin de décoder. Habituellement, vous devez convertir la chaîne en entrant un Python unicode chaîne et qui peut être fait comme ceci (Python 2):
c 'hi'])
OriginalL'auteur mhawke
En Python 2, ascii codé (octet) de la chaîne est également une utf8-codé (octet) de la chaîne.
En Python 3, un (unicode) chaîne de caractères doit être codé à utf8 codé octets. Le décodage exemple allait dans le mauvais sens.
Chaînes de caractères ne contenant que les chiffres " 0 " et " 1 " sont un cas spécial et les mêmes règles s'appliquent.
Vous ne peut pas décoder quelque chose qui est déjà décodé.
OriginalL'auteur Terry Jan Reedy
Fournir l'option de base de l'argument de
int
à convertir:OriginalL'auteur souldeux
Pour convertir les bits de donnée comme un "01"-chaîne de caractères (chiffres binaires) dans le texte correspondant dans Python 3:
Pour Python 2/3 solution, voir Convertir binaire en ASCII et vice versa.
OriginalL'auteur jfs