func (b base57) Encode(u uuid.UUID) string {
	var num big.Int
	num.SetString(strings.Replace(u.String(), "-", "", 4), 16)
	factor := math.Log(float64(25)) / math.Log(float64(b.alphabet.Length()))
	length := math.Ceil(factor * float64(len(u)))
	return b.numToString(&num, int(length))
}
Encode encodes uuid.UUID into a string using the least significant bits
(LSB) first according to the alphabet. If the most significant bits (MSB)
are 0, the string might be shorter.
package shortuuid
import (
	"fmt"
	"math"
	"math/big"
	"strings"
	"github.com/google/uuid"
)
type base57 struct {
	alphabet alphabet
}