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中的十六进制字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章