关于这个主题已经有很多答案,但我找不到任何看起来像我正在寻找的答案。
我需要从给定的字符串生成一个唯一的负 ID (int)。如果也有解码会很高兴,但不是强制性的。
关于这个主题已经有很多答案,但我找不到任何看起来像我正在寻找的答案。
我需要从给定的字符串生成一个唯一的负 ID (int)。如果也有解码会很高兴,但不是强制性的。
您可以尝试myString.GetHashCode()
它不保证是唯一的,但肯定会为相同的字符串返回相同的键。
显然,没有这样的转换。int
大小受 32 位限制,而string
大小几乎不受限制。除非您对字符串应用一些限制,否则您将遇到冲突。
不可能为任意长度的字符串生成唯一的 int。
int 有 32 位数据,一个 100 个字符的字符串(假设 C#)将有 1600 位数据,因此您将至少有 1600/32 次冲突。
[搞笑]
你可以 :
string a = "dgfadg";
var bytes = System.Text.Encoding.Unicode.GetBytes(a);
BigInteger integer= new BigInteger(bytes);
[/有趣]