mirror of
https://github.com/fumiama/go-base16384.git
synced 2026-06-12 14:10:32 +08:00
edit README
This commit is contained in:
89
README.md
89
README.md
@@ -2,15 +2,84 @@
|
|||||||
base16384 interface of golang
|
base16384 interface of golang
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
## As package
|
## Quick start
|
||||||
Just import it in your project.
|
|
||||||
## As lib
|
```go
|
||||||
Copy this repo to `$GOPATH/src`, then execute
|
package main
|
||||||
```bash
|
|
||||||
go install -buildmode=shared -linkshared std
|
import (
|
||||||
go install -buildmode=shared -linkshared base14
|
"fmt"
|
||||||
|
|
||||||
|
b14 "github.com/fumiama/go-base16384"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
str := b14.EncodeString("1234567")
|
||||||
|
fmt.Println(str, b14.DecodeString(str))
|
||||||
|
}
|
||||||
```
|
```
|
||||||
Now you can use
|
|
||||||
```bash
|
## API
|
||||||
go build -linkshared ...
|
|
||||||
|
```go
|
||||||
|
func Encode(b []byte) (encd []byte)
|
||||||
|
|
||||||
|
func EncodeLen(in int) (out int)
|
||||||
|
|
||||||
|
func EncodeTo(b, encd []byte) error
|
||||||
|
|
||||||
|
func EncodeToString(b []byte) string
|
||||||
|
|
||||||
|
func EncodeFromString(s string) []byte
|
||||||
|
|
||||||
|
func EncodeString(s string) string
|
||||||
|
|
||||||
|
func DecodeLen(in, offset int) (out int)
|
||||||
|
|
||||||
|
func Decode(b []byte) (decd []byte)
|
||||||
|
|
||||||
|
func DecodeTo(b []byte, decd []byte) error
|
||||||
|
|
||||||
|
func DecodeToString(d []byte) string
|
||||||
|
|
||||||
|
func DecodeFromString(s string) []byte
|
||||||
|
|
||||||
|
func DecodeString(s string) string
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Stream API
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"crypto/rand"
|
||||||
|
"io"
|
||||||
|
|
||||||
|
b14 "github.com/fumiama/go-base16384"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
buf := make([]byte, 1024*1024+1)
|
||||||
|
_, err := rand.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
w := bytes.NewBuffer(make([]byte, 0, 1024*1024+1))
|
||||||
|
e := b14.NewEncoder(bytes.NewReader(buf))
|
||||||
|
_, err = io.Copy(w, e)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
w2 := bytes.NewBuffer(make([]byte, 0, 1024*1024+1))
|
||||||
|
d := b14.NewDecoder(bytes.NewReader(w.Bytes()))
|
||||||
|
_, err = io.Copy(w2, d)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
if !bytes.Equal(buf, w2.Bytes()) {
|
||||||
|
panic("fail!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user