首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交换Endianness javascript

交换Endianness javascript
EN

Stack Overflow用户
提问于 2011-10-31 00:13:37
回答 1查看 3.4K关注 0票数 0

我想知道如何用->交换十六进制值的字节顺序(例如:4075javascript 7540,3827javascript 2738),如果是这样的话,如何交换?谢谢。

编辑:谢谢@kay,我想做的是交换十六进制的字节顺序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-31 00:30:26

交换数字v的字节顺序

代码语言:javascript
复制
var v = 0x01234567;                 // input number
var s = v.toString(16);             // translate to hexadecimal notation
s = s.replace(/^(.(..)*)$/, "0$1"); // add a leading zero if needed
var a = s.match(/../g);             // split number in groups of two
a.reverse();                        // reverse the groups
var s2 = a.join("");                // join the groups back together
var v2 = parseInt(s2, 16);          // convert to a number

alert(s2); // "67452301"
alert(v2); // 1732584193

Live copy

在一个长长的队伍中:

代码语言:javascript
复制
alert(parseInt((0x01234567).toString(16).replace(/^(.(..)*)$/, "0$1").match(/../g).reverse().join(""), 16))
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7946094

复制
相关文章

相似问题

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