【问题标题】:Int to hex string in javascript [duplicate]Int到javascript中的十六进制字符串[重复]
【发布时间】: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... 无限。我认为你给字符串提供的任何服务都有点古怪。

标签: javascript


【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 2013-07-04
    • 2012-04-27
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    相关资源
    最近更新 更多