为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript:parseInt(string, 36) 将不同的字符串转换为相同的数字

JavaScript:parseInt(string, 36) 将不同的字符串转换为相同的数字

芜湖不芜 2022-07-08 19:25:35
我对字符串转换有疑问:像这样使用parseInt(string[,radix])时:BigInt(parseInt('something', 36))它输出:80920602611116n. 使用不同的输入,如下所示:BigInt(parseInt('somethink', 36))它输出:80920602611120n,这当然是另外一回事。但是,如果它是一个较长的字符串,则输出编号有时是相同的:BigInt(parseInt('thisisactuallyadifferentsomething', 36))BigInt(parseInt('thisisactuallyadifferentsomethink', 36))这将为1867697451648055638757226289961051507749359223570432n两者输出,尽管它们是不同的。我知道,整数的安全表示是有限制的,这就是我使用 BigInt 的原因,它没有限制。我必须能够区分这种大小的字符串,同时使用 BigInt 来表示这些字符串。
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

请参阅将大整数编码为 base62,但替换以下基数 62 位...

var digits = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

...以 36 位为基数...

var digits = '0123456789abcdefghijklmnopqrstuvwxyz';

希望这可以帮助...


查看完整回答
反对 回复 2022-07-08
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信