最后活跃于 1 month ago

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

jetsung 修订了这个 Gist 9 months ago. 转到此修订

1 file changed, 37 insertions

gbkbig5.go(文件已创建)

@@ -0,0 +1,37 @@
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 + }
上一页 下一页