Javascript问题:如何将十六进制数转换为高和低32位值

时间:2011-01-26 19:37:41

标签: javascript hex itunes-sdk

我需要几行Javascript代码,这些代码将采用十六进制数字(以16个字符的形式)并将其转换为表示64位原始值的高32位和低32位的两个变量。

我正在尝试使用iTunes COM功能“ItemByPersistenID”在iTunes中使用Windows脚本播放歌曲。但我只有PersistentId的十六进制值,该函数只接受高位和低位32位。

功能定义(来自iTunes COM SDK文档)

function TrackCollection:ItemByPersistentId(long highID,long lowID)

其中“highID”参数为“64位持久ID的高32位”和“lowID”为“64位持久ID的低32位”。

2 个答案:

答案 0 :(得分:1)

尝试

var loNibble = parseInt( hexValue.substring(8,16) , 16 ) ;
var hiNibble = parseInt( hexValue.substring(0,8)  , 16 ) ;

答案 1 :(得分:0)

尼古拉斯有一个很好的答案。在假设情况下,十六进制字符串没有前导零,您可以这样做:

var a=hexstr.match(/(.*?)(.{0,8})$/);
var lo=parseInt(a[2],16);
var hi=parseInt(a[1],16);