ホームページ  >  記事  >  バックエンド開発  >  Golang はソケット中国語の文字化け解決策を使用します

Golang はソケット中国語の文字化け解決策を使用します

尚
オリジナル
2019-12-24 11:52:4311982ブラウズ

Golang はソケット中国語の文字化け解決策を使用します

go で Socket を書いていると、クライアントから中国語を入力するとサーバーが文字化けを正常に表示できないことが分かりました。

Golang はソケット中国語の文字化け解決策を使用します

中国語をトランスコードすることで解決できます。

トランスコーディングは、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 中国語 Web サイトの golang チュートリアル 列に注目してください。

以上がGolang はソケット中国語の文字化け解決策を使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。