最近需要处理十六进制,十进制,字符之间的转换,所以去学习了进制数之间以及和字符之间的转换,发现有很多差不多且书写不正确的方法。自己也是查找文档,一个一个实践才真正清楚如何转换,现在来记录一下它们之间转换的方法。
十六进制转成十进制: convertedVal = parseInt(needConvertVal, 16);
parseInt(val, number): 该方法是将二进制,八进制,十六进制转成十进制,val是要转换的值,number是该转换的值是哪个进制数
十进制数转十六进制数: convertedVal = needConvertVal.toString(16); needConvertVal必须是number类型
val.toString(number): 该方法是将十进制转换成二进制,八进制,十六进制,val是要转换的值,number是要转换成什么进制数,注意: val必须是number类型
十六进制转成字符: 先将数据转成十进制,然后十进制再转成字符,
convertedTenVal = parseInt(needConvertVal,16), convertedVal = String.fromCharCode(convertedTenVal);
十进制转成字符: convertedVal = String.fromCharCode(needConvertVal);
字符转成十进制: let convertedVal= '';
const vArr = needConvertVal.split(' ');
vArr.forEach((a, index) => {
convertedVal += needConvertVal.charCodeAt(index);
})
字符转成十六进制: 先将字符转成十进制,然后十进制再转成十六进制
let convertTenVal= '';
const vArr = needConvertVal.split(' ');
vArr.forEach((a, index) => {
convertTenVal += needConvertVal.charCodeAt(index);
})
convertedVal = _.toNumber(convertTenVal).toString(16);
_.toNumber()是将需要转换的十进制数变成number类型。