Ultima attività 1 month ago

Golang GBK Big5 from/to UTF-8 转换 转自:https://gist.github.com/zhang0098/c691e1da5bbdc7f41ca5

Revisione 855ef8a9f4869613d1cb8aca8f382df468315567

gbkbig5.go Raw
1import (
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
9func 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
19func 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
29func 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