的Javascript问题:如何转换十六进制数,高和低32位值
问题描述:
我需要的Javascript代码的几行,将采取一个十六进制数字(在16个字符的字符串的形式),并将其转换为两个变量代表64位原始值的高和低32位。的Javascript问题:如何转换十六进制数,高和低32位值
我试图使用iTunes COM功能“ItemByPersistenID”与Windows脚本的iTunes播放一首歌曲。但我只有PersistentId的十六进制值和函数只在该高和低32位。
函数定义(从iTunes COM SDK文档)
功能TrackCollection:ItemByPersistentId(长highID,长LOWID)
其中 “highID” 参数是“64的高32位位持久ID”和‘LOWID’是‘的64位的永久ID的低32位’。
答
尼古拉斯有一个很好的答案。在这十六进制字符串没有前导零的假设情况下,你可以这样做:
var a=hexstr.match(/(.*?)(.{0,8})$/);
var lo=parseInt(a[2],16);
var hi=parseInt(a[1],16);
答
尝试
var loNibble = parseInt(hexValue.substring(8,16) , 16) ;
var hiNibble = parseInt(hexValue.substring(0,8) , 16) ;