JavaScript,十六进制的ASCII转成BCD格式,怎么转?

比如,一串字符串是“1234=567”,‘=’等号的十进制ASCII码是3D,于是字符串转为16进制的ASCII码就为“31 32 33 34 3D 35 36 37”,我现在想最终转换成“1234D567”,也就是BCD码的“0x12 0x34 0xD5 0x67”,这个怎么转?

//转换成16进制的ASCII码组合如下
function transStr(str){
var result="";
for(var i=0;i<str.length;i++){
    result+=str.charCodeAt(i).toString(16)+" ";
}
return result.trim();
}
//但你说的最终结果,完全没看出来和bcd码有什么关系。

追问

可能我问的有问题。
您给的字符串转十六进制ASCII码的函数我看懂了。
请问,十六进制ASCII码转成字符串怎么转呢?
比如“313233343D3536”,转换成“1234=56”。

追答function transCodeToStr(codes){
var result="";
for(var i=0;i<codes.length;i++,i++){
var num=parseInt("0x"+codes.substring(i,i+2));
result+=String.fromCharCode(num);
}
return result;
}
transCodeToStr("313233343D3536")//“1234=56”

温馨提示:答案为网友推荐,仅供参考
相似回答