将十六进制转换为短和长

Posted

技术标签:

【中文标题】将十六进制转换为短和长【英文标题】:Transform hex to short and long 【发布时间】:2013-02-18 13:29:22 【问题描述】:

如何将OxFF 之类的值转换为短类型和长类型。有这种用途的标准功能吗?

【问题讨论】:

什么是短类型和长类型?在 javascript 中,只有一个 numeric type。 w3schools.com/jsref/jsref_parseint.asp 使用基数。 我认为这个链接可以在一定程度上帮助你softcomplex.com/forum/viewthread_4321,但是你必须自己知道转换后的号码。是短的还是长的。 【参考方案1】:

JavaScript 只知道 numbers 是浮点数。

您可以使用parseInt 将该字符串解析为整数。 它真的会是一个float,但没有分数。


要么传递基数 16,要么让 JavaScript 自动检测它:

parseInt("0xFF", 16)
parseInt("0xFF")

http://jsfiddle.net/bikeshedder/wVRh2/

【讨论】:

你试过了吗? parseInt("0xFF", 10); // => 0, not 255。您需要删除 0x 并解析基数 16,或者完全删除基数,这通常是禁忌。 @ScottSauyet:将0xFF 解析为10 的基数会得到0。去掉radix参数或者传递16,你会得到正确的结果:jsfiddle.net/bikeshedder/wVRh2

以上是关于将十六进制转换为短和长的主要内容,如果未能解决你的问题,请参考以下文章

如何将标准 IP 地址格式字符串转换为十六进制和长字符串?

将字符转换为短

将位数组转换为短数组

在 JavaCard 中将字节转换为短字节

如何将字符串(字节数组作为字符串)转换为短字符串

将字符串转换为短 C# 时出现格式异常