😎

Go言語でUUID4をbase32でエンコーディング

2020/10/23に公開
package main

import (
	"fmt"
	"strings"
	"encoding/base32"
	
	"github.com/google/uuid"
)

func main() {
	uuid4 := uuid.New()
	uuid4Binary, _ := uuid4.MarshalBinary()
	uuid4EncodedBase32 := base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString(uuid4Binary)
	fmt.Printf("%#v\n", strings.ToLower(uuid4EncodedBase32)) // "4gzne4bx6vcf5awrt6e4ycmvd4"
}

参考
UUID(128bit)を可逆短縮する手法 -HoshiLabo
「Base N」encodingをまとめてみる。-學而時習之
ID生成方法についてあれこれ

Discussion