wooly
@wooly
Делаю фронт, пока не соскучусь за бэком

Как преобразовать uuid в uint128_t?

Суть вопроса предельно простая
Есть uuid: cc52361d-7905-45a2-bfaf-184ef5a8408d
Его надо представить в формате uint128_t
Кто в курсе?
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
wooly
@wooly Автор вопроса
Делаю фронт, пока не соскучусь за бэком
Вот код который мне помогу, вдруг кому то ещё надо будет)

export const uint128 = (guid: string) => {
  const bytes = uuid.parse(guid);
  let bi = 0n;

  for (let i = 0; i < 16; i++) {
    bi = (bi << 8n) | BigInt(bytes[i]);
  }
  console.log(bi);
  return bi;
};

export const uint128ToUUID = (value: any) => {
  const rb:any = [];
  let bi = value;
  for (let i = 0; i < 16; i++) {
    rb.unshift(bi & 255n);
    bi >>= 8n;
  }
  const guid = uuid.stringify(rb);
  console.log(guid);
  return guid;
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы