Как преобразовать нечисловую строку в целое?Преобразование нечисловой строки в целое?
я получил, например:
String unique = "FUBAR";
Что хороший способ для представления строки в виде целого числа без каких-либо столкновений например «FUBAR» всегда должен быть представлен как одно и то же число и не должен сталкиваться с какой-либо другой строкой. Например, String a = "A";
должен быть представлен как Integer 1
и т. Д., Но что такое метод, который делает это (желательно для всех строк unicode, но в моем случае значения ASCII могут быть достаточными).
er. это то, что делают кодировки символов. Получите байты строки, у вас есть число. – tom
Какая цель у вас? Существует несколько способов преобразования строки в число и сохранения уникальности. Поскольку любые данные, в конце концов, хранятся как ряд бит, это скорее переинтерпретация, чем преобразование.Но если вы хотите, чтобы результат для любой строки любой длины соответствовал одному значению Java 'int', вы ищете хэш-функцию, которой много. Тем не менее, никогда не может быть идеального, гарантирующего отсутствие столкновений, так как существует более возможная последовательность, чем ints (принцип голубинки). –
Я не могу придумать способ, который будет работать для * all * unicode-строк, независимо от того, как долго и преобразовать их в один 'int'. Но если вы найдете надежный способ, вернитесь и назовите свою цену: компании сжатия данных будут вас любить ;-) – dasblinkenlight