1

16 進数 (16 文字の文字列) を取り、それを 64 ビットの元の値の上位 32 ビットと下位 32 ビットを表す 2 つの変数に変換する Javascript コードを数行必要とします。

iTunes COM 関数「ItemByPersistenID」を使用して、Windows Script を使用して iTunes で曲を再生しようとしています。しかし、私は PersistentId の 16 進値しか持っておらず、関数は上位と下位の 32 ビットしか取りません。

関数の定義 (iTunes COM SDK ドキュメントから)

関数 TrackCollection:ItemByPersistentId(long highID, long lowID)

ここで、「highID」パラメーターは「64 ビット永続 ID の上位 32 ビット」であり、「lowID」は「64 ビット永続 ID の下位 32 ビット」です。

4

2 に答える 2

1

試す

var loNibble = parseInt( hexValue.substring(8,16) , 16 ) ;
var hiNibble = parseInt( hexValue.substring(0,8)  , 16 ) ;
于 2011-01-26T19:45:53.253 に答える
0

ニコラスは良い答えを持っています。16 進文字列に先行ゼロがないという仮説的なケースでは、次のことができます。

var a=hexstr.match(/(.*?)(.{0,8})$/);
var lo=parseInt(a[2],16);
var hi=parseInt(a[1],16);
于 2011-01-26T20:01:13.173 に答える