Skip to content

Latest commit

 

History

History
88 lines (71 loc) · 2.07 KB

File metadata and controls

88 lines (71 loc) · 2.07 KB

使用

package main

import (
    "fmt"
    "github.com/deatil/go-encoding/encoding"
)

type Per struct {
    Name string
    Age int
}

func main() {
    // Base64 编码后结果
    base64Data := encoding.
        FromString("use-data"). // 数据来源
        Base64Encode().      // 编码或者解码方式
        ToString()           // 输出结果
    fmt.Println("Base64 编码后结果:", base64Data)

    // =====

    // Asn1 编码
    var p string
    encodeStr := encoding.Asn1Encode("test-data").Base64Encode().ToString()
    encoding.FromString("Ewl0ZXN0LWRhdGE=").Base64Decode().Asn1Decode(&p)
    encodeStr2 := p

    // XML 编码
    p := Per{
        Name: "kkk",
        Age: 12,
    }

    var p2 Per

    // 编码
    encodeStr := encoding.XmlEncode(p).Base64Encode().ToString()
    encoding.FromString("PFBlcj48TmFtZT5ra2s8L05hbWU+PEFnZT4xMjwvQWdlPjwvUGVyPg==").Base64Decode().XmlDecode(&p2)

    encodeStr2 := p2.Name

    // Binary 编码
    var p uint16
    encodeStr := encoding.BinaryLittleEndianEncode(uint16(61374)).Base64Encode().ToString()
    encoding.FromString("vu8=").Base64Decode().XmlDecode(&p)

    // Csv 编码
    records := [][]string{
        {"first_name", "last_name", "username"},
        {"Rob", "Pike", "rob"},
        {"Ken", "Thompson", "ken"},
        {"Robert", "Griesemer", "gri"},
    }
    in := `first_name,last_name,username
"Rob","Pike",rob
Ken,Thompson,ken
"Robert","Griesemer","gri"
`
    encodeStr := encoding.CsvEncode(records).ToString()

    var encodeStr2 [][]string
    encoding.FromString(in).CsvDecode(&encodeStr2)


    // Csv 编码2
    records := [][]string{
        {"first_name", "last_name", "username"},
        {"Rob", "Pike", "rob"},
        {"Ken", "Thompson", "ken"},
        {"Robert", "Griesemer", "gri"},
    }
    in := `first_name;last_name;username
"Rob";"Pike";rob
# lines beginning with a # character are ignored
Ken;Thompson;ken
"Robert";"Griesemer";"gri"
`
    encodeStr := encoding.CsvEncode(records).ToString()

    var encodeStr2 [][]string
    encoding.FromString(in).CsvDecode(&encodeStr2, ';', '#')
}