gbkbig5.go
· 871 B · Go
Brut
import (
"bytes"
"io/ioutil"
"golang.org/x/text/encoding/traditionalchinese"
"golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/transform"
)
//convert GBK to UTF-8
func Decodegbk(s []byte) ([]byte, error) {
I := bytes.NewReader(s)
O := transform.NewReader(I, simplifiedchinese.GBK.NewDecoder())
d, e := ioutil.ReadAll(O)
if e != nil {
return nil, e
}
return d, nil
}
//convert BIG5 to UTF-8
func Decodebig5(s []byte) ([]byte, error) {
I := bytes.NewReader(s)
O := transform.NewReader(I, traditionalchinese.Big5.NewDecoder())
d, e := ioutil.ReadAll(O)
if e != nil {
return nil, e
}
return d, nil
}
//convert UTF-8 to BIG5
func Encodebig5(s []byte) ([]byte, error) {
I := bytes.NewReader(s)
O := transform.NewReader(I, traditionalchinese.Big5.NewEncoder())
d, e := ioutil.ReadAll(O)
if e != nil {
return nil, e
}
return d, nil
}
| 1 | import ( |
| 2 | "bytes" |
| 3 | "io/ioutil" |
| 4 | "golang.org/x/text/encoding/traditionalchinese" |
| 5 | "golang.org/x/text/encoding/simplifiedchinese" |
| 6 | "golang.org/x/text/transform" |
| 7 | ) |
| 8 | //convert GBK to UTF-8 |
| 9 | func Decodegbk(s []byte) ([]byte, error) { |
| 10 | I := bytes.NewReader(s) |
| 11 | O := transform.NewReader(I, simplifiedchinese.GBK.NewDecoder()) |
| 12 | d, e := ioutil.ReadAll(O) |
| 13 | if e != nil { |
| 14 | return nil, e |
| 15 | } |
| 16 | return d, nil |
| 17 | } |
| 18 | //convert BIG5 to UTF-8 |
| 19 | func Decodebig5(s []byte) ([]byte, error) { |
| 20 | I := bytes.NewReader(s) |
| 21 | O := transform.NewReader(I, traditionalchinese.Big5.NewDecoder()) |
| 22 | d, e := ioutil.ReadAll(O) |
| 23 | if e != nil { |
| 24 | return nil, e |
| 25 | } |
| 26 | return d, nil |
| 27 | } |
| 28 | //convert UTF-8 to BIG5 |
| 29 | func Encodebig5(s []byte) ([]byte, error) { |
| 30 | I := bytes.NewReader(s) |
| 31 | O := transform.NewReader(I, traditionalchinese.Big5.NewEncoder()) |
| 32 | d, e := ioutil.ReadAll(O) |
| 33 | if e != nil { |
| 34 | return nil, e |
| 35 | } |
| 36 | return d, nil |
| 37 | } |
| 38 |