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