【发布时间】:2013-11-12 12:56:20
【问题描述】:
如何将非数字字符串转换为整数?
例如:
String unique = "FUBAR";
将字符串表示为没有冲突的整数的好方法是什么,例如“FUBAR”应始终表示为相同的数字,并且不会与任何其他字符串发生冲突。例如,String a = "A"; 应该表示为整数 1 等等,但是这样做的方法是什么(最好适用于所有 unicode 字符串,但在我的情况下 ASCII 值可能就足够了)。
【问题讨论】:
-
呃。这就是字符编码的作用。获取一个字符串的字节,你有一个数字。
-
这里的目标是什么?有多种方法可以将字符串转换为数字并保持唯一性。毕竟,由于任何数据都存储为一系列位,因此与其说是转换,不如说是重新解释。但是,如果您希望任何长度的任何字符串的结果都适合单个 Java
int值,那么您正在寻找一个散列函数,其中有很多。然而,永远不可能有一个完美的保证不会发生冲突,因为可能的字符串比整数多(鸽巢原理)。 -
我想不出一种适用于 all unicode 字符串(无论多长时间)并将它们转换为单个
int的方法。但是,如果您找到可靠的方法,请回来并说出您的价格:数据压缩公司会喜欢您的 ;-) -
“整数”是指 java
int还是“任意长度的整数”?
标签: java string int type-conversion