gpt4 book ai didi

javascript - 将 Google 联系人 ID 转换为十六进制以在 URL 中使用

转载 作者:行者123 更新时间:2023-12-03 00:18:34 25 4
gpt4 key购买 nike

Google 通讯录现在(2019 年 1 月)为您创建的每个联系人发布一个长(19 位)十进制数字 ID。

不幸的是,正如本文中讨论的那样 question ID 无法放入 URL 中以轻松查看联系人,但是如果将此十进制数字转换为十六进制,则可以将其放入 URL 中。

那么问题来了,如何转换c2913347583522826972到286E4A310F1EEADC

当我使用十进制到十六进制转换器时here它给了我286E4A310F1EEADC 如果我删除 c (下面的第二个函数是站点代码的一个版本,但它可能也使用 PHP)

但是在 Javascript 中尝试以下函数会得到不同的结果

第一个来自这个stack question这是最接近的,仅差 2 位

function decimalToHexString(number)
{
number = parseFloat(number);
if (number < 0)
{
number = 0xFFFFFFFF + number + 1;
}

return number.toString(16);
}

console.log(decimalToHexString('2913347583522826972'));
//output 286e4a310f1eea00

function convertDec(inp,outp) {
var pd = '';

var output ;
var input = inp;

for (i=0; i < input.length; i++) {
var e=input[i].charCodeAt(0);var s = "";
output+= e + pd;
}
return output;
}
//return 50574951515255535651535050565054575550

很想知道您对改进此流程的想法

最佳答案

这似乎是数字大小的限制。如果需要转换更大的数字,则必须使用数组。

您可以使用hex2dec用于在十六进制和十进制之间转换的 npm 包。

>> converter.decToHex("2913347583522826972", { prefix: false }
//286e4a310f1eeadc

Js example

在Python方面,你可以简单地做

dec = 2913347583522826972
// Python implicitly handles prefix
hexa = hex(dec)
print dec == int(hexa, 16)
// True

Python example

有关更多信息,请查看以下要点 https://gist.github.com/agirorn/0e740d012b620968225de58859ccef5c

关于javascript - 将 Google 联系人 ID 转换为十六进制以在 URL 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54429755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com