mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-03-18 05:42:20 +01:00
26 lines
472 B
Go
26 lines
472 B
Go
package nip13
|
|
|
|
const (
|
|
maxSafeAscii = 126
|
|
minSafeAscii = 35
|
|
availableSafeAscii = maxSafeAscii - minSafeAscii
|
|
)
|
|
|
|
func uintToStringCrazy(num uint64) string {
|
|
nchars := 1 + num/availableSafeAscii
|
|
chars := make([]byte, nchars)
|
|
|
|
i := 0
|
|
for {
|
|
if num < availableSafeAscii {
|
|
chars[i] = byte(num + minSafeAscii)
|
|
break
|
|
} else {
|
|
chars[i] = byte(num/availableSafeAscii + minSafeAscii)
|
|
num -= availableSafeAscii
|
|
i++
|
|
}
|
|
}
|
|
return string(chars)
|
|
}
|