我需要几行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位”。
答案 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);