Von Ihre Kommentare scheint es Sie
hex2a('000000000000000000000000000000314d464737');
und Alerting das Ergebnis sind aufrufen.
Ihr Problem besteht darin, dass Sie eine Zeichenfolge erstellen, die mit 0x00 beginnt. Dieser Code wird im Allgemeinen als Zeichenfolgenabschlusszeichen für eine mit Null abgeschlossene Zeichenfolge verwendet.
entfernen die 00
beim Start:
hex2a('314d464737');
Sie können Ihre Funktion wie dieses Problem zu beheben jene null „Charakter“ überspringen:
function hex2a(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2) {
var v = parseInt(hex.substr(i, 2), 16);
if (v) str += String.fromCharCode(v);
}
return str;
}
Beachten Sie, dass die Zeichenfolge voller 0x00 noch verwendet werden könnten, in anderen Kontexten, aber Chrome kann nicht darauf aufmerksam machen. Sie sollten diese Art von Zeichenfolgen nicht verwenden.
scheint für mich auf Chromium zu arbeiten: http://jsfiddle.net/fDzqu/ –
Könnten Sie „funktioniert nicht“ klären? Was passiert, wenn Sie es versuchen, und wie unterscheidet sich das von dem, was Sie erwarten? Erhalten Sie eine Fehlermeldung? Funktioniert gut in Chrome, wenn ich es versuche. http://jsfiddle.net/Guffa/uT2q5/ – Guffa
Bitte geben Sie eine Beispieleingabe und -ausgabe. Was ist es in Chrom vs Firefox? – loganfsmyth