Member 4673156 Ответов: 3

Определите кодировку строки чисел


Мне дали список строк, которые на самом деле являются числовыми идентификаторами; они могут быть автоинкрементированы, но я пытаюсь определить, что на самом деле представляют собой числа, поскольку они содержат буквенно-цифровые символы. Может ли кто-нибудь посоветовать, как это сделать?

например, x774b4n, x7741zs, x774ahm, x774cb0

Спасибо.

Что я уже пробовал:

поиск в интернете и книги. Также пробовал онлайн-инструменты преобразования, но только начинал, поэтому не знаком с кодированием текстов.

Gerry Schmitz

Единственная "константа", по-видимому, заключается в том, что они начинаются с "x774". Для кого - то предполагать что-то еще, основываясь на ограниченной информации, - это нонсенс.

Member 4673156

На самом деле, мне дали около 1000, и единственная константа-это x7...., что не означает, что нет x6, x5 и т. д. Я просто пытаюсь определить, что это за буквы, кроме x, поэтому я могу просто создать больше идентификаторов, увеличив те, которые у меня есть.

3 Ответов

Рейтинг:
2

raddevus

Они (почти) выглядят как шестнадцатеричные значения.
Вот только...не совсем

x7741zs - нет никакого шестнадцатеричного z, n, s или m

как правило, ведущие символы 0x означает шестнадцатеричное значение, например : 0xCC0010.
Вам, вероятно, придется иметь больше подсказок о данных, чтобы определить что-то еще.
Как их можно увеличить? Это должно дать ключ к разгадке.


Member 4673156

Спасибо за ответ; мне сказали, что они должны быть уникальными идентификаторами для пользователей api; поэтому, увеличивая число случайным образом, например x77436u до x77437u, вы можете получить гораздо больше идентификаторов. проблема в том, что я не знаю, что это за буквы, например "у"

Рейтинг:
1

Patrice T

Цитата:
например, x774b4n, x7741zs, x774ahm, x774cb0

Это пахнет какой-то кодировкой base 32 или base 64.
Но с такими маленькими намеками, это может быть о чем угодно.
Base32 - Википедия[^]
Base64 - Википедия[^]


Member 4673156

Спасибо всем за ваши комментарии и ответы. Я постараюсь собрать больше информации, но я думаю, что это может быть просто предположение, но кто-то еще также упомянул базу 32. Будет рассматривать.

Randor

Это не может быть BASE32, потому что он содержит букву Z. Base32 обычно кодируется как 0-9 и буквы от А до В.

Patrice T

Это возможно, потому что программист свободен выбирать любой способ кодирования данных.
Посмотрите на эту ссылку: Base32 - Википедия[^]

Randor

Ну, следуя тому, что вы только что сказали... это также может быть Base16 с "программистом выбранной кодировки символов"

Во всяком случае, я готов поспорить на деньги, что это кодировка BASE36. Кодировки BASE36 и выше являются единственными системами, содержащими букву Z.

Randor

Кстати... статья в Википедии, на которую вы ссылаетесь, относится к кодировке передачи base32... не в двухмерной системе счисления.

Рейтинг:
0

Dave Kreskowiak

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