0
J'ai une chaîne encodée en format Little Endian (le moins significatif en premier), et je veux le décoder en un nombre. Pour le codeur, le premier bit du dernier octet indique si le nombre est positif ou négatif. Est-ce que quelqu'un sait comment faire ça?Comment convertir une chaîne d'octets en Nombre?
Voici mon décodeur:
decode:function(str,type){
var num=0;
var len=size(type)-(type.signed?1:0);
var totalBits=0;
for(var i=0;i<len;i++){
num+=(str.charCodeAt(i)<<totalBits));
totalBits+=8;
}
if(type.signed){
var b=str.charCodeAt(size(type)-1);
var neg=(b>=128);
if(neg){
b-=128;
}
num+=b;
num*=(neg?-1:1);
}
return num;
}
Merci.
Si c'est votre encodeur, pourquoi l'appelle-t-on "décoder"? Il semble bien que c'est * décodage * d'une chaîne. – Pointy
Désolé, c'est mon décodeur ... faute de frappe :) – Maz