JavaScript: parseInt (string, 36) преобразует разные строки в одно и то же число - PullRequest
0 голосов
/ 20 апреля 2020

У меня проблема с преобразованием строки:

При использовании parseInt(string[,radix]), например, так:

BigInt(parseInt('something', 36))

выводит: 80920602611116n. с другим вводом, например, так:

BigInt(parseInt('somethink', 36))

выводит: 80920602611120n, что, конечно, не так.

Однако, если это более длинная строка, выходной номер иногда совпадает :

BigInt(parseInt('thisisactuallyadifferentsomething', 36))
BigInt(parseInt('thisisactuallyadifferentsomethink', 36))

это выдаст 1867697451648055638757226289961051507749359223570432n для обоих, хотя они разные.

Я знаю, что существует предел для безопасного представления целых чисел, поэтому я использовал BigInt, который не имеет ограничений.

Я должен иметь возможность различать строки этого размера, в то время как используя BigInt для их представления.

...