88 votes

Comment convertir les photos Hex en ASCII en JavaScript ?

Comment convertir Hex chaîne en ASCII chaîne en JavaScript ?

Ex :

32343630 ce sera 2460

173voto

Delan Azabani Points 33013
function hex2a(hexx) {
    var hex = hexx.toString();//force conversion
    var str = '';
    for (var i = 0; i < hex.length; i += 2)
        str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
    return str;
}
hex2a('32343630'); // returns '2460'

43voto

0x8BADF00D Points 316

Une autre façon de le faire (si vous utilisez Node.js) :

var input  = '32343630';
const output = Buffer.from(input, 'hex');
log(input + " -> " + output);  // Result: 32343630 -> 2460

38voto

michieljoris Points 217

Par souci d'exhaustivité, la fonction inverse :

function a2hex(str) {
  var arr = [];
  for (var i = 0, l = str.length; i < l; i ++) {
    var hex = Number(str.charCodeAt(i)).toString(16);
    arr.push(hex);
  }
  return arr.join('');
}
a2hex('2460'); //returns 32343630

24voto

Sampath Liyanage Points 3481

Tu peux utiliser ça...

var asciiVal = "32343630".match(/.{1,2}/g).map(function(v){
      return String.fromCharCode(parseInt(v, 16));
    }).join('');
    
document.write(asciiVal);

10voto

Ayushya Points 2080

J'ai trouvé une fonction utile présente dans la bibliothèque web3.

var hexString = "0x1231ac"
string strValue = web3.toAscii(hexString)

Mise à jour : version plus récente de web3 a cette fonction dans les utills

Les fonctions se trouvent désormais dans les utils :

var hexString = "0x1231ac"
string strValue = web3.utils.hexToAscii(hexString)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X