Сравнивайте с фиксированным временем
Пример в режиме создания заполняет только миллисекунды, не создавая ID. Только пустое поле означает сейчас; число 1700000000 также трактуется буквально как миллисекунды.
- Часы считываются один раз на весь пакет.
Идентификаторы
Создайте пакет вручную или проверьте готовые значения по строкам. Декодирование может обновляться автоматически.
Пустое поле означает текущее время, считанное один раз на пакет. Иначе укажите целое число от 0 до 281474976710655. Секунды и даты ISO автоматически не распознаются.
Обработка выполняется в этом браузере. Введённые данные не отправляются на сервер.
Включено: первый 80-битный хвост случаен, каждый следующий увеличен на один. Выключено: хвосты независимы. Порядок между отдельными нажатиями не гарантируется.
От 1 до 1 000 ID; разбор до 1 000 физических строк и 100 000 кодовых единиц UTF-16. Экспорт включает все результаты.
Выберите настройки и запустите обработку.
Неожиданный порядок идентификаторов в журнале может объясняться временем или случайным суффиксом. Генератор ULID помогает отличить значения из разных миллисекунд от тех, у которых совпадает время, но различается хвост.
Заданный момент фиксирует префикс тестовых данных, но не случайную часть. При сортировке готового списка отчёт сохраняет исходный номер строки: новое положение можно проверить, не переставляя введённый текст.
Генератор ULID отделяет десять символов времени от шестнадцати случайных. Целое число миллисекунд показано рядом с датой UTC, поэтому ошибка с секундами не скрывается за удобным представлением даты.
Поле sourceLine сохраняется у каждого значения, включая повторы. Меняется только порядок отчёта: положение записи можно сопоставить с исходным текстом, который остаётся нетронутым.
Пример в режиме создания заполняет только миллисекунды, не создавая ID. Только пустое поле означает сейчас; число 1700000000 также трактуется буквально как миллисекунды.
При включении хвост увеличивается внутри пакета. Без него независимые случайные части одной миллисекунды могут сортироваться иначе, чем были созданы.
Пример для разбора специально перемешан. Выберите возрастание ASCII и сравните sourceLine. Автоматический разбор ждёт 350 мс; при отключении доступны кнопка и Ctrl/Cmd+Enter.
Получите от 1 до 1 000 канонических ID в верхнем регистре. Фиксированное время задаёт лишь префикс. Первый хвост берётся из безопасных случайных байтов, остальные увеличиваются или выбираются независимо.
Метка времени показана в миллисекундах Unix и формате UTC ISO. Отчёт также содержит оба текстовых участка и случайный хвост в шестнадцатеричном виде. В нём не восстанавливается пользователь или устройство.
Ошибка длины, символа или диапазона указывает исходные строку и столбец. Один неверный элемент отменяет весь разбор; ошибочные строки не исчезают из частичного результата, выданного за полный.
Сначала видны 50 строк, затем можно добавлять по 100. TXT содержит созданные ID, а JSON — метаданные пакета или все разобранные поля, включая ещё не раскрытые записи.
ULID использует 26 символов Base32 и 48-битный префикс миллисекунд. У UUID поля зависят от версии, а обычная текстовая запись занимает 36 шестнадцатеричных символов с дефисами. Одинаковый объём хранения не делает текстовые форматы взаимозаменяемыми.
Генератор ULID выбирает первый хвост случайно и добавляет один к каждому следующему в этом пакете. Успешный пакет строго возрастает. Новый вызов независим: порядок между пакетами или распределёнными машинами не гарантируется.
Да, первые десять символов позволяют восстановить миллисекунды Unix и показать UTC. Но время может быть задано произвольно, а часы могут ошибаться. Разбор возвращает закодированный момент, а не доказательство реального создания записи.
Это свойство алфавита Crockford Base32, уменьшающее путаницу при чтении. Здесь допустимые строчные буквы переводятся в прописные, но I, L, O и U отвергаются: похожие символы не исправляются на цифры автоматически.
Формат ULID не различает регистр, но конкретная схема, валидатор или приложение может требовать канонические прописные буквы. Эта страница принимает допустимые строчные значения и выдаёт верхний регистр. Ограничения вашей базы она не меняет.
Есть вопрос об идентификаторе?
Генератор ULID создаст небольшой пакет для заданного времени. Затем разберите перемешанный пример и сверьте порядок с исходными номерами строк.