2011-01-26 85 views
1

我需要的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位’。

回答

0

尼古拉斯有一個很好的答案。在這十六進制字符串沒有前導零的假設情況下,你可以這樣做:

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

嘗試

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