go語言使用socket時出現(xiàn)中文亂碼的解決方法

這篇文章給大家分享的是有關(guān)go語言使用socket時出現(xiàn)中文亂碼的解決方法,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)建站長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為霍林郭勒企業(yè)提供專業(yè)的成都網(wǎng)站制作、做網(wǎng)站,霍林郭勒網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

用go編寫Socket發(fā)現(xiàn),從客戶端輸入中文時,服務(wù)器端無法正常顯示出現(xiàn)亂碼。我們可以對中文進(jìn)行轉(zhuǎn)碼來解決。

轉(zhuǎn)碼可以使用go官方的golang.org/x/text包實(shí)現(xiàn)。

安裝命令如下:

go get golang.org/x/text

轉(zhuǎn)換編碼格式的函數(shù)如下:

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 
}

使用轉(zhuǎn)換編碼格式函數(shù):

v, err := GbToUtf8(buf[0:n])

看完這篇文章,你們學(xué)會go語言使用socket時出現(xiàn)中文亂碼的解決方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

分享標(biāo)題:go語言使用socket時出現(xiàn)中文亂碼的解決方法
轉(zhuǎn)載源于:http://muchs.cn/article2/ghspoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、搜索引擎優(yōu)化、網(wǎng)站改版、做網(wǎng)站、軟件開發(fā)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)