Сгруппировано по ситуации, а не по формату
Эта категория — скорее ящик стола, чем тема. Инструменты в ней — небольшие конвертации, которые нужны, пока задача на самом деле в чём-то другом, поэтому здесь они перечислены по ситуации, в которой вы к ним обращаетесь.
«В этом логе непонятная строка, и я не знаю, что это».
Если она выглядит как 550e8400-e29b-41d4-a716-446655440000, декодер
UUID скажет вам версию, а для v1, v6 и v7 — ещё и
метку времени создания. Если строка выглядит как SGVsbG8= или заканчивается на
==, это Base64 — декодируйте её. Если это
голое десятизначное число, начинающееся на 17, это Unix-время
примерно сейчас.
«Мне нужен ID». Генератор UUID создаёт версии v1 и с v3 по v7 и выдаст тысячи значений сразу для наполнения тестовой базы данных.
«Эта метка времени неверна ровно в тысячу раз». Секунды или миллисекунды — конвертер временных меток обрабатывает оба варианта и показывает, какой именно вы ему дали.
«Мне нужен этот data URI как настоящий файл». Или наоборот: Base64 в изображение.
«Какой это точно цвет?» Палитра цветов для конвертации между нотациями, пипетка цвета для изображений для считывания значения со скриншота или макета.
«Это должно быть snake_case, а это camelCase». Конвертер регистра.
«Чему равно 0xDEADBEEF в десятичной системе, и что будет, если число со знаком?» Конвертер систем счисления, который, в отличие от большинства аналогов, обрабатывает отрицательные числа и дополнительный код.
Идентификаторы раскрывают больше, чем кажется
Единственная сквозная мысль, которую стоит здесь высказать, потому что ни одна отдельная страница инструмента ею не владеет: несколько из этих форматов несут информацию, которую вы не собирались публиковать.
UUID v1 содержит метку времени и MAC-адрес машины. Так был задуман изначальный дизайн — уникальность гарантируется формулой «эта машина, в этот момент». Это также значит, что UUID v1 в публичном URL точно сообщает любому желающему, когда была создана запись, и даёт стабильный идентификатор сервера, который её создал. Убедиться в этом можно самостоятельно, вставив такой UUID в декодер.
UUID v7 тоже содержит Unix-время, намеренно, потому что совпадение сортировки по ID и сортировки по времени создания чрезвычайно полезно для локальности индекса базы данных. Плата за это та же самая: v7-идентификаторы упорядочены, поэтому их публичный показ раскрывает время создания и позволяет оценить, сколько записей вы создаёте в час, наблюдая всего за двумя из них.
v4 — единственная версия, которая ничего не раскрывает — 122 бита случайности и никакой структуры. Именно поэтому она остаётся выбором по умолчанию для всего, что обращено к пользователю, и именно поэтому «v7 для первичного ключа, v4 для публичного идентификатора» — разумное правило для одной и той же таблицы.
Base64 раскрывает всё, мгновенно, кому угодно. Это не обфускация. Секрет Kubernetes кодируется в Base64, чтобы двоичные значения пережили YAML, а не чтобы их защитить.
Всё на этой странице работает локально, а для этой категории это важнее, чем для большинства других: производственные идентификаторы, токены и фрагменты логов — как раз то, что не стоит вставлять на чужой сервер для декодирования.