golang默認(rèn)編碼為utf-8,但網(wǎng)頁中會(huì)有各種格式像常見的"gb2312","gbk"等。處理這些編碼的網(wǎng)頁時(shí)就會(huì)出現(xiàn)頭大的亂碼.golang沒有自帶的編解碼包,需要借助第三方包處理。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、彭水苗族土家族網(wǎng)站維護(hù)、網(wǎng)站推廣。
第三方包
code.google.com/p/mahonia
使用簡介
code貌似托管在谷歌的服務(wù)器上,國內(nèi)用戶可能要翻墻,我在github上fork了一個(gè)mahonia.
先判斷是否支持你想要的編碼格式,不支持的話,返回值為nil
func GetCharset(name string) *Charset
if mahonia.GetCharset(char) == nil {
return nil, fmt.Errorf("%s charset not suported \n", char)}創(chuàng)建特定編碼格式的decoder
func NewDecoder(name string) Decoder
dec := mahonia.NewDecoder(char)
接著直接解碼:常用的有直接從字符串解碼及從io流解碼
func (d Decoder) ConvertString(s string) string
func (d Decoder) NewReader(rd io.Reader) *Reader
這里用的是io流,因?yàn)橄旅孢€用到類似于jquery的一個(gè)工具包,便于連貫陳述
rd := dec.NewReader(resp.Body)
擴(kuò)展資料:
Go語言是一種新的語言,一種并發(fā)的、帶垃圾回收的、快速編譯的語言。它具有以下特點(diǎn):
1.它可以在一臺(tái)計(jì)算機(jī)上用幾秒鐘的時(shí)間編譯一個(gè)大型的Go程序。
2.Go語言為軟件構(gòu)造提供了一種模型,它使依賴分析更加容易,且避免了大部分C風(fēng)格include文件與庫的開頭。
3.Go語言是靜態(tài)類型的語言,它的類型系統(tǒng)沒有層級(jí)。因此用戶不需要在定義類型之間的關(guān)系上花費(fèi)時(shí)間,這樣感覺起來比典型的面向?qū)ο笳Z言更輕量級(jí)。
4.Go語言完全是垃圾回收型的語言,并為并發(fā)執(zhí)行與通信提供了基本的支持。
以上就是golang web開發(fā)亂碼的原因與解決方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
本文標(biāo)題:怎么解決golang的web開發(fā)亂碼問題
分享地址:http://www.chinadenli.net/article48/ispjhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、品牌網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、Google、網(wǎng)頁設(shè)計(jì)公司、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)