mirror of
https://github.com/42wim/matterbridge.git
synced 2024-12-21 00:12:01 -08:00
33 lines
805 B
Go
33 lines
805 B
Go
|
package birc
|
||
|
|
||
|
import (
|
||
|
"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/encoding/unicode"
|
||
|
)
|
||
|
|
||
|
var encoders = map[string]encoding.Encoding{
|
||
|
"utf-8": unicode.UTF8,
|
||
|
"iso-2022-jp": japanese.ISO2022JP,
|
||
|
"big5": traditionalchinese.Big5,
|
||
|
"gbk": simplifiedchinese.GBK,
|
||
|
"euc-kr": korean.EUCKR,
|
||
|
"gb2312": simplifiedchinese.HZGB2312,
|
||
|
"shift-jis": japanese.ShiftJIS,
|
||
|
"euc-jp": japanese.EUCJP,
|
||
|
"gb18030": simplifiedchinese.GB18030,
|
||
|
}
|
||
|
|
||
|
func toUTF8(from string, input string) string {
|
||
|
enc, ok := encoders[from]
|
||
|
if !ok {
|
||
|
return input
|
||
|
}
|
||
|
|
||
|
res, _ := enc.NewDecoder().String(input)
|
||
|
return res
|
||
|
}
|