😎
Go言語でUUID4をbase32でエンコーディング
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