用go寫Socket發現,從客戶端輸入中文時,伺服器端無法正常顯示出現亂碼。
我們可以對中文進行轉碼來解決。
轉碼可以使用go官方的golang.org/x/text套件實作。
安裝指令如下:
go get golang.org/x/text
轉換編碼格式的函數如下:
func GbToUtf8(s []byte) ([]byte, error) { //reader := transform.NewReader(byte.NewReader(s), simplifiedchinese.GBK.NewEncoder()) reader := transform.NewReader(bytes.NewReader(s),simplifiedchinese.GBK.NewDecoder()) d, e := ioutil.ReadAll(reader) if e != nil { return nil, e } return d, nil }
使用轉換編碼格式函數:
v, err := GbToUtf8(buf[0:n])
更多golang知識請關注PHP中文網站golang教學專欄。
以上是golang使用socket中文亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!