這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
首先匯入包
"code.google.com/p/mahonia"
可以通過此連結獲得此包
https://code.google.com/p/mahonia/
參考代碼如下:
package mainimport ( "bufio" "code.google.com/p/mahonia" "log" "os" "strings" "time")func main() { //建立記錄檔 t := time.Now() filepath := "./log_" + strings.Replace(t.String()[:19], ":", "_", 3) + ".txt" file, err := os.OpenFile(filepath, os.O_CREATE, 0666) if err != nil { log.Fatal("create log file failed!") } defer file.Close() wFile := bufio.NewWriter(file) wFile.WriteString(readfile()) wFile.Flush()}func readfile() string { f, err := os.Open("ex7.txt") if err != nil { return err.Error() } defer f.Close() buf := make([]byte, 1024) //檔案ex7.txt的編碼是gb18030 decoder := mahonia.NewDecoder("gb18030") if decoder == nil { return "編碼不存在!" } var str string = "" for { n, _ := f.Read(buf) if 0 == n { break } //解碼為UTF-8 str += decoder.ConvertString(string(buf[:n])) } return str}