首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript是否等同于htonl?

JavaScript是否等同于htonl?
EN

Stack Overflow用户
提问于 2012-02-15 03:36:46
回答 2查看 2.6K关注 0票数 3

对于AJAX请求,我需要发送一个幻数作为请求体的前四个字节,最重要的字节在前面,以及请求体中的其他几个(非常量)值。在JavaScript中有没有等同于htonl的东西?

例如,给定0x42656566,我需要生成字符串"Beef“。不幸的是,我的数字大约是0xc1ba5ba9。当服务器读取请求时,它得到的值是-1014906182 (而不是-1044751447)。

EN

Stack Overflow用户

发布于 2012-02-15 05:07:13

简化版http://jsfiddle.net/eZsTp/

代码语言:javascript
运行
复制
function dot2num(dot) { // the same as ip2long in php
    var d = dot.split('.');
    return ((+d[0]) << 24) +  
           ((+d[1]) << 16) + 
           ((+d[2]) <<  8) + 
            (+d[3]);
}

function num2array(num) {
     return [
        (num & 0xFF000000) >>> 24,
        (num & 0x00FF0000) >>> 16,   
        (num & 0x0000FF00) >>>  8,
        (num & 0x000000FF)
       ];    
}

function htonl(x)
{
     return dot2num(num2array(x).reverse().join('.')); 
}

var ipbyte = dot2num('12.34.56.78');
alert(ipbyte);
var inv = htonl(ipbyte);
alert(inv + '=' + num2array(inv).join('.'));
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9283093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档