十六进制到javascript中的字符串

前端之家收集整理的这篇文章主要介绍了十六进制到javascript中的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
function hex2a(hex) 
{
    var str = '';
    for (var i = 0; i < hex.length; i += 2)
        str += String.fromCharCode(parseInt(hex.substr(i,2),16));
    return str;
}

功能在chrome中不起作用,但在mozila中工作正常.任何人都可以请帮助.

提前致谢

解决方法

从你的评论看来,你正在打电话
hex2a('000000000000000000000000000000314d464737');

并提醒结果.

你的问题是你正在构建一个以0x00开头的字符串.此代码通常用作以null结尾的字符串的字符串终止符.

开始时删除00:

hex2a('314d464737');

你可以像这样修复你的函数来跳过那些空的“字符”:

function hex2a(hex) {
    var str = '';
    for (var i = 0; i < hex.length; i += 2) {
        var v = parseInt(hex.substr(i,16);
        if (v) str += String.fromCharCode(v);
    }
    return str;
}

请注意,您的字符串0x00仍然可能在其他上下文中使用,但Chrome无法提醒它.你不应该使用这种字符串.

猜你在找的JavaScript相关文章