Как преобразовать id в int64 в id с 11-12 символами? В базе хранится id - int64. Хочу в url на UI иметь id в формате "8STmsLOBdgU", то есть как например на youtube.
Хранить дополнительно этот длинный id хочу. То есть, хочу кодировать/раскодировать на лету.
Как закадировать/раскодировать id int64 в id в формате "8STmsLOBdgU"? То есть в 11-12 символов. Какой алгоритм или криптофункцию использовать?

21 Авг 2019 в 07:11
165 +1
0
Ответы
1

Для преобразования числового идентификатора int64 в строковый формат с 11-12 символами, вы можете использовать алгоритм кодирования, такой как base64. Вот пример кода на языке программирования Go, показывающий, как преобразовать int64 в base64 и обратно:

package main
import (
"encoding/base64"
"fmt"
)
func main() {
id := int64(1234567890)
// Преобразование int64 в []byte и кодирование base64
idBytes := []byte(fmt.Sprintf("%d", id))
encodedID := base64.StdEncoding.EncodeToString(idBytes)
fmt.Println("Encoded ID:", encodedID)
// Декодирование base64 и преобразование обратно в int64
decodedIDBytes, err := base64.StdEncoding.DecodeString(encodedID)
if err != nil {
fmt.Println("Error decoding id:", err)
return
}
decodedID := int64(0)
fmt.Sscanf(string(decodedIDBytes), "%d", &decodedID)
fmt.Println("Decoded ID:", decodedID)
}

Этот код примерно отображает процесс преобразования int64 в base64 и обратно. Функция EncodeToString преобразует числовой идентификатор в массив байтов и затем кодирует его в формат base64. Функция DecodeString декодирует строку base64 обратно в массив байтов, а затем использует Sscanf для распознавания числового идентификатора в этом массиве байтов.

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

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 654 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир