的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) ;