【问题标题】:Javascript Question: How to Convert Hexadecimal Number to High and Low 32-bit valuesJavascript 问题:如何将十六进制数转换为高低 32 位值
【发布时间】:2011-01-26 19:37:40
【问题描述】:

我需要几行 Javascript 代码,它将接受一个十六进制数(以 16 个字符串的形式)并将其转换为两个变量,分别代表 64 位原始值的高 32 位和低 32 位。

我正在尝试使用 iTunes COM 函数“ItemByPersistenID”通过 Windows 脚本在 iTunes 中播放歌曲。但是我只有 PersistentId 的十六进制值,函数只取高低 32 位。

函数定义(来自 iTunes COM SDK 文档)

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

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

【问题讨论】:

    标签: javascript hex itunes-sdk


    【解决方案1】:

    试试

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-12-26
        • 2011-03-05
        • 2011-05-20
        • 2011-04-30
        • 1970-01-01
        • 1970-01-01
        • 2015-08-15
        • 1970-01-01
        • 2013-07-15
        相关资源
        最近更新 更多