Int到javascript中的十六进制字符串[重复]

Posted

技术标签:

【中文标题】Int到javascript中的十六进制字符串[重复]【英文标题】:Int to hex string in javascript [duplicate] 【发布时间】:2014-06-01 02:08:30 【问题描述】:

我想将数字(整数)转换为十六进制字符串

2 (0x02) to "\x02"

62 (0x0062) to "\x62"

我怎样才能正确地做到这一点?

【问题讨论】:

@Chuck nope that doesn't cut it^^ 怎么不剪呢? 您在将 \x 添加到十六进制数时是否遇到严重问题? @KeithNicholas 不,但我在理解它时遇到了问题,\x2 和 \x02 之间似乎存在差异。现在我怎么能 0x0062 是 \x62 作为字符串。 十六进制中的前导零不会产生任何数字差异。 9 == 09 == 009 == 0009... 无限。我认为你给字符串提供的任何服务都有点古怪。 【参考方案1】:

好吧,您似乎只想将整数与 \x 连接起来。

如果是这样就喜欢这样:

var number = 62;
var hexStr = '\x' + number.toString(16);

但是你的解释有点奇怪。

注意:62 与 0x62 不同,0x62 是 98。

【讨论】:

如果数字 = 2 会怎样? hexStr 应该是 \x2,但应该是 \x02 但是有什么区别呢?值仍然是 2。如果你需要,我会给你答案,但没有区别。 如果我在 python 中执行此操作,我会得到“无效的 \x 转义”,而 \x02 将被排除,所以似乎有区别...... 你在问 JS,没关系。只需添加var hexStr = '\x0' + number.toString(16);【参考方案2】:

var converted = "\x" + number.toString(16)

【讨论】:

【参考方案3】:

可以使用to string方法:

a = 64;
a.toString(16); // prints "40" which is the hex value
a.toString(8); // prints "100" which is the octal value
a.toString(2); // prints "1000000" which is the binary value

【讨论】:

必须是 "\x62" 格式。 a = 64; a = '\x' + a.toString(16); 您可以轻松地将其连接起来。 不适用于 2,因为 OP 明确要求函数返回 \x02 而不是 \x2

以上是关于Int到javascript中的十六进制字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:Unicode字符串到十六进制

JavaScript学习(六十六)—字符串对象常用的属性和方法总结以及数组元素的排序问题

十六进制字符串到 Python 3.2 中的带符号整数?

将 int 转换为 Java 中的二进制字符串表示形式?

如何将'转换为javascript中的引号?

Javascript - 十六进制字符串到十进制字符串