ホームページ > バックエンド開発 > Golang > Go の「encoding」パッケージを使用してテキスト エンコーディングを UTF-8 に変換するにはどうすればよいですか?

Go の「encoding」パッケージを使用してテキスト エンコーディングを UTF-8 に変換するにはどうすればよいですか?

DDD
リリース: 2025-01-03 04:34:38
オリジナル
747 人が閲覧しました

How Can I Convert Text Encodings to UTF-8 Using Go's `encoding` Package?

Go のエンコーディング パッケージを使用してエンコーディングを UTF-8 に変換する

Go のエンコーディング パッケージは、テキストをあるエンコーディングから別のエンコーディングに変換するためのサポートを提供します。 UTF-8を含む。このパッケージをテキスト変換に利用する方法は次のとおりです。

あるエンコーディングから UTF-8 に変換するには、次の手順を使用できます。

  1. エンコーディング パッケージをインポートする:

    import (
     "encoding/json"
     "fmt"
     "io/ioutil"
     "strings"
    )
    ログイン後にコピー
  2. エンコードされたデータを保存するバイトバッファを宣言します。 text.
  3. 目的の出力エンコーディング (この場合は UTF-8) のエンコーダーを作成し、バッファーに接続します。
  4. ソース テキストをエンコードして、バッファーに書き込みます。
  5. エンコーダを閉じて、残っているデータをフラッシュします。

これは、 UTF-8 文字列を ShiftJIS に変換して元に戻す:

// Convert String from UTF-8 to another encoding
func convertEncoding(s string, encoding string) string {
    encoder := json.NewEncoder(new(bytes.Buffer))
    if err := encoder.Encode(s); err != nil {
        fmt.Println("Encoding failed:", err)
        return ""
    }
    encodedStr, err := ioutil.ReadAll(encoder.Buffered())
    if err != nil {
        fmt.Println("Reading encoded string failed:", err)
        return ""
    }
    return strings.TrimSpace(string(encodedStr))
}

func main() {
    original := "日本語"
    encoded := convertEncoding(original, "shift_jis")
    fmt.Println("Encoded:", encoded)
    decoded := convertEncoding(encoded, "utf-8")
    fmt.Println("Decoded:", decoded)
}
ログイン後にコピー

以上がGo の「encoding」パッケージを使用してテキスト エンコーディングを UTF-8 に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート