baseconv

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2019 License: MIT Imports: 4 Imported by: 1

README

BaseConv

Utility to convert numbers from base 10 integers to base X strings and back again. Based on Django's baseconv.py utility.

Documentation

Read the documentation at godoc.org.

Usage

func Example() {
	encoded := baseconv.Base36.Encode(1234)
	fmt.Println(encoded)

	decoded, err := baseconv.Base36.Decode(encoded)
	if err != nil {
		panic(err)
	}
	fmt.Print(decoded)

	// Output:
	// ya
	// 1234
}

func Example_base11() {
	base11, err := baseconv.New("0123456789-", "$")
	if err != nil {
		panic(err)
	}

	encoded := base11.Encode(-1234)
	fmt.Println(encoded)

	decoded, err := base11.Decode(encoded)
	if err != nil {
		panic(err)
	}
	fmt.Print(decoded)

	// Output:
	// $-22
	// -1234
}

Documentation

Overview

Convert numbers from base 10 integers to base X strings and back again.

Example
package main

import (
	"fmt"

	"github.com/enricofoltran/baseconv"
)

func main() {
	encoded := baseconv.Base36.Encode(1234)
	fmt.Println(encoded)

	decoded, err := baseconv.Base36.Decode(encoded)
	if err != nil {
		panic(err)
	}
	fmt.Print(decoded)

}
Output:

ya
1234
Example (Base11)
package main

import (
	"fmt"

	"github.com/enricofoltran/baseconv"
)

func main() {
	base11, err := baseconv.New("0123456789-", "$")
	if err != nil {
		panic(err)
	}

	encoded := base11.Encode(-1234)
	fmt.Println(encoded)

	decoded, err := base11.Decode(encoded)
	if err != nil {
		panic(err)
	}
	fmt.Print(decoded)

}
Output:

$-22
-1234

Index

Examples

Constants

View Source
const (
	Base2Alphabet  = "01"
	Base16Alphabet = "0123456789ABCDEF"
	Base36Alphabet = "0123456789abcdefghijklmnopqrstuvwxyz"
	Base56Alphabet = "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz"
	Base62Alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
	Base64Alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_"
)

Variables

View Source
var (
	ErrAlphabetEmptyString = errors.New("Alphabet cannot be an empty string")
	ErrSignCharInBase      = errors.New("Sign character found in converter base alphabet")
)
View Source
var (
	Base2, _  = New(Base2Alphabet, "-")
	Base16, _ = New(Base16Alphabet, "-")
	Base36, _ = New(Base36Alphabet, "-")
	Base56, _ = New(Base56Alphabet, "-")
	Base62, _ = New(Base62Alphabet, "-")
	Base64, _ = New(Base64Alphabet, "$")
)

Functions

This section is empty.

Types

type BaseConverter

type BaseConverter struct {
	// contains filtered or unexported fields
}

func New

func New(alphabet, signChar string) (*BaseConverter, error)

func (*BaseConverter) Decode

func (bc *BaseConverter) Decode(s string) (int64, error)

func (*BaseConverter) Encode

func (bc *BaseConverter) Encode(n int64) string

func (*BaseConverter) String

func (bc *BaseConverter) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL