Base58Check encoding: Difference between revisions
→{{header|Go}}: More idiomatic error handling.
m (→{{header|Go}}: Minor changes - results unaffected.) |
(→{{header|Go}}: More idiomatic error handling.) |
||
Line 159:
import (
"fmt"
"log"
"math/big"
"strings"
Line 176 ⟶ 177:
}
func convertToBase58(hash string, base int) (string, error) {
var x, ok = new(big.Int).SetString(hash, base)
if !ok {
}
var sb strings.Builder
Line 188 ⟶ 189:
sb.WriteByte(alphabet[r])
}
return reverse(sb.String()), nil
}
func main() {
s := "25420294593250030202636073700053352635053786165627414518"
b, err := convertToBase58(s, 10)
if err != nil {
log.Fatal(err)
}
fmt.Println(s, "->", b)
hashes := [...]string{
Line 207 ⟶ 211:
}
for _, hash := range hashes {
b58, err := convertToBase58(hash, 0)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%-56s -> %s\n", hash, b58)
}
|