ホームページ > バックエンド開発 > Golang > Go でテキストを任意のエンコーディング (Windows-1256 など) から UTF-8 に変換するにはどうすればよいですか?

Go でテキストを任意のエンコーディング (Windows-1256 など) から UTF-8 に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-29 21:54:11
オリジナル
918 人が閲覧しました

How to Convert Text from Arbitrary Encodings (e.g., Windows-1256) to UTF-8 in Go?

Go でのエンコーディング変換: 任意のエンコーディングから UTF-8 へ

テキストを扱う場合、さまざまなエンコーディングの間で変換できることが不可欠です。エンコーディング。 Go は、エンコーディング パッケージを通じてこれをサポートします。一般的な変換タスクの 1 つは、レガシー エンコーディングから広く使用されている UTF-8 へのデータの変換です。

Windows-1256 から UTF-8 への変換

次のようなシナリオを考えてみましょう。 Windows-1256 アラビア語エンコードで保存されたテキストは、UTF-8 に変換する必要があります。 Go でこれを実現するには、次の手順に従います:

  1. 必要なパッケージをインポートします:

    • コア エンコード機能のエンコーディング
    • golang。 Windows-1256 専用の org/x/text/encoding/charmap (注: このパッケージは Go では利用できません) Playground)
  2. 必要なエンコーディングを使用してエンコーダーを初期化します:

    decoder := charmap.Windows1256.NewDecoder()
    ログイン後にコピー
  3. 入力テキストから読み取るリーダーを作成しますオリジナルではエンコード:

    reader := strings.NewReader(inputString)
    ログイン後にコピー
  4. UTF-8 で宛先バッファーに書き込むライターを作成します:

    writer := transform.NewWriter(outputStream, utf8.UTF8.NewEncoder())
    ログイン後にコピー
  5. バイトをコピーしますリーダーからライターに送信され、エンコーダーが次のことを実行できるようになります。変換:

    io.Copy(writer, reader)
    ログイン後にコピー
  6. ライターを閉じて残りのバイトをフラッシュし、変換を終了します:

    writer.Close()
    ログイン後にコピー

このプロセスは正常に変換されます入力テキストを Windows-1256 から UTF-8 に変換し、文字とその表現を保持します。

以上がGo でテキストを任意のエンコーディング (Windows-1256 など) から UTF-8 に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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