अपनी टिप्पणी से
ऐसा लगता है आप
hex2a('000000000000000000000000000000314d464737');
कॉल कर रहे हैं और परिणाम को चेतावनी।
आपकी समस्या यह है कि आप 0x00 से शुरू होने वाली स्ट्रिंग बना रहे हैं। इस कोड को आम तौर पर एक नल-टर्मिनेटेड स्ट्रिंग के लिए स्ट्रिंग टर्मिनेटर के रूप में उपयोग किया जाता है।
निकालें 00
शुरू में:
hex2a('314d464737');
आप इस तरह अपने कार्य को ठीक कर सकता उन अशक्त "चरित्र" को छोड़ने के लिए:
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;
}
ध्यान रखें कि आपके स्ट्रिंग 0x00 से भरा अभी भी प्रयोग किया जा सकता है अन्य संदर्भों में लेकिन क्रोम इसे सतर्क नहीं कर सकता है। आपको इस तरह के तारों का उपयोग नहीं करना चाहिए।
स्रोत
2012-12-04 07:41:34
मेरे लिए क्रोमियम पर काम करने लगता है: http://jsfiddle.net/fDzqu/ –
क्या आप "काम नहीं कर रहे" को स्पष्ट कर सकते हैं? जब आप इसे आज़माते हैं तो क्या होता है, और यह आपकी अपेक्षा से अलग कैसे होता है? क्या तुम्हें कोई त्रुटि का संदेश मिला है? जब मैं कोशिश करता हूं तो क्रोम में ठीक काम करता है। http://jsfiddle.net/Guffa/uT2q5/ – Guffa
कृपया एक उदाहरण इनपुट और आउटपुट दें। क्रोम बनाम फायरफिक्स में यह क्या है? – loganfsmyth