From f0f801402d95b1f49018fa9af77c341ff4c4de5f Mon Sep 17 00:00:00 2001 From: Wim Date: Sat, 19 Mar 2022 23:14:56 +0100 Subject: Refactor utf-8 conversion (irc) (#1767) --- vendor/github.com/missdeer/golib/ic/convutf8.go | 72 ------------------------- vendor/github.com/missdeer/golib/ic/ic.go | 31 ----------- 2 files changed, 103 deletions(-) delete mode 100644 vendor/github.com/missdeer/golib/ic/convutf8.go delete mode 100644 vendor/github.com/missdeer/golib/ic/ic.go (limited to 'vendor/github.com/missdeer/golib/ic') diff --git a/vendor/github.com/missdeer/golib/ic/convutf8.go b/vendor/github.com/missdeer/golib/ic/convutf8.go deleted file mode 100644 index b4851497..00000000 --- a/vendor/github.com/missdeer/golib/ic/convutf8.go +++ /dev/null @@ -1,72 +0,0 @@ -// Package ic convert text between CJK and UTF-8 in pure Go way -package ic - -import ( - "bytes" - "errors" - "io/ioutil" - "strings" - - "golang.org/x/text/encoding" - "golang.org/x/text/encoding/japanese" - "golang.org/x/text/encoding/korean" - "golang.org/x/text/encoding/simplifiedchinese" - "golang.org/x/text/encoding/traditionalchinese" - "golang.org/x/text/transform" -) - -var ( - transformers = map[string]encoding.Encoding{ - "gbk": simplifiedchinese.GBK, - "cp936": simplifiedchinese.GBK, - "windows-936": simplifiedchinese.GBK, - "gb18030": simplifiedchinese.GB18030, - "gb2312": simplifiedchinese.HZGB2312, - "big5": traditionalchinese.Big5, - "big-5": traditionalchinese.Big5, - "cp950": traditionalchinese.Big5, - "euc-kr": korean.EUCKR, - "euckr": korean.EUCKR, - "cp949": korean.EUCKR, - "euc-jp": japanese.EUCJP, - "eucjp": japanese.EUCJP, - "shift-jis": japanese.ShiftJIS, - "iso-2022-jp": japanese.ISO2022JP, - "cp932": japanese.ISO2022JP, - "windows-31j": japanese.ISO2022JP, - } -) - -// ToUTF8 convert from CJK encoding to UTF-8 -func ToUTF8(from string, s []byte) ([]byte, error) { - var reader *transform.Reader - - transformer, ok := transformers[strings.ToLower(from)] - if !ok { - return s, errors.New("Unsupported encoding " + from) - } - reader = transform.NewReader(bytes.NewReader(s), transformer.NewDecoder()) - - d, e := ioutil.ReadAll(reader) - if e != nil { - return nil, e - } - return d, nil -} - -// FromUTF8 convert from UTF-8 encoding to CJK encoding -func FromUTF8(to string, s []byte) ([]byte, error) { - var reader *transform.Reader - - transformer, ok := transformers[strings.ToLower(to)] - if !ok { - return s, errors.New("Unsupported encoding " + to) - } - reader = transform.NewReader(bytes.NewReader(s), transformer.NewEncoder()) - - d, e := ioutil.ReadAll(reader) - if e != nil { - return nil, e - } - return d, nil -} diff --git a/vendor/github.com/missdeer/golib/ic/ic.go b/vendor/github.com/missdeer/golib/ic/ic.go deleted file mode 100644 index 9e414e36..00000000 --- a/vendor/github.com/missdeer/golib/ic/ic.go +++ /dev/null @@ -1,31 +0,0 @@ -package ic - -import "log" - -// Convert convert bytes from CJK or UTF-8 to UTF-8 or CJK -func Convert(from string, to string, src []byte) []byte { - if to == "utf-8" { - out, e := ToUTF8(from, src) - if e == nil { - return out - } - log.Printf("converting from %s to UTF-8 failed: %v", from, e) - return src - } - - if from == "utf-8" { - out, e := FromUTF8(to, src) - if e == nil { - return out - } - log.Printf("converting from UTF-8 to %s failed: %v", to, e) - return src - } - log.Println("only converting between CJK encodings and UTF-8 is supported") - return src -} - -// ConvertString convert string from CJK or UTF-8 to UTF-8 or CJK -func ConvertString(from string, to string, src string) string { - return string(Convert(from, to, []byte(src))) -} -- cgit v1.2.3