交换字节序 javascript

发布于 2024-12-12 21:07:11 字数 123 浏览 1 评论 0原文

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

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

I'd like to know how to swap the Endianness of a hex value with javascript (ex: 4075 -> 7540, 3827 -> 2738)
If so, how?
Thanks.

EDIT: Thanks @kay, what I want to do is swap the hex's Endianness.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一腔孤↑勇 2024-12-19 21:07:15

要交换数字的字节顺序v

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

在一长行中:

alert(parseInt((0x01234567).toString(16).replace(/^(.(..)*)$/, "0$1").match(/../g).reverse().join(""), 16))

To swap the endianness of a number v:

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

In one long line:

alert(parseInt((0x01234567).toString(16).replace(/^(.(..)*)$/, "0$1").match(/../g).reverse().join(""), 16))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文