JavaScript: Besoin des fonctions permettant de convertir une chaîne de caractères contenant le binaire en hexadécimal, puis convertis en binaire
Permet de dire que j'ai une chaîne de caractères en JavaScript avec des données binaires. Il peut ressembler à ceci:
var binary = '00001000010001000101010100001110';
J'ai besoin de quelques fonctions fiables afin de le convertir en une chaîne hexadécimale, puis de les convertir en retour, hexadécimal, binaire, corde à nouveau. Je sais que sur les fonctions suivantes
//Convert binary to hexadecimal
var hex = parseInt(binaryCharacters, 2).toString(16);
//Convert hexadecimal to binary
var binary = parseInt(hex, 16).toString(2)
Mais je ne suis pas sûr de la façon de convertir l'ensemble de la chaîne à la fois. Suis-je en droit de comprendre j'ai besoin de convertir chaque binaire 4 bits à la fois en un seul caractère hexadécimal? Alors pour en revenir aux binaires je boucle sur chaque caractère hexadécimal et le convertir en binaire de nouveau?
J'ai chassé pour quelques exemples simples de faire cela en JavaScript, mais ne trouvez pas tout.
Merci beaucoup
Le dernier (bin2hex fonction) ne fonctionne pas. Il me donne de sortie comme 3030303031303030303130303031303030313031303130... et qui ne regarde pas à droite. Pourquoi est-il les valeurs de remplissage, avec une longueur de moins de 2 avec un supplément '0' char? J'ai pensé qu'il était censé convertir sur un quartet (4 bits) par grignoter et chaque grignoter va créer un seul hex char???
OriginalL'auteur user2503552 | 2013-06-20
Vous devez vous connecter pour publier un commentaire.
Essayez cette jsfiddle.
Les fonctions plus intéressantes pour vous ici. Pas nécessairement le plus propre ou plus efficaces, mais oui:
Cela a fonctionné comme un charme. merci beaucoup bro. +1 pour cette.
OriginalL'auteur yanhan
Eh bien j'ai trouvé un algorithme ici qui l'a aidé à expliquer comment le faire. Aussi cette page sur Wikipédia contribué à confirmer la 4-bit binaire à l'hexadécimal mappages. Je suis venu avec le code suivant pour le faire. D'autres extraits de code que j'ai trouvé sur le web ne fonctionne pas du tout. Laissez-moi savoir si vous voulez faire toutes les améliorations. Vous pourriez même faire une droite de la table de vraiment l'aide de cette information à partir de Wikipédia qui serait plus rapide.
OriginalL'auteur user2503552
Pourquoi ne pas utiliser Tableau.le prototype.réduire?
Lien vers jsfiddle ici.
Notes:
bin2hex
, si vous voulez convertir aussi les de fuite des segments de moins de 4 bits en hexadécimal, remplacer{4}
avec{1,4}
. Cependant, convertir le résultat en binaire, va produire une chaîne de caractères qui diffère de l'original. Par exemple, la conversion de l'avant et l'arrière"111101"
serait de produire des"11110001"
.hex2bin
, les valeurs binaires sont de gauche complétée par des zéros, de façon à avoir 4 chiffres binaires pour chaque chiffre hexadécimal.OriginalL'auteur Giancarlo Sportelli