Go でのエンコーディング変換: 任意のエンコーディングから UTF-8 へ
テキストを扱う場合、さまざまなエンコーディングの間で変換できることが不可欠です。エンコーディング。 Go は、エンコーディング パッケージを通じてこれをサポートします。一般的な変換タスクの 1 つは、レガシー エンコーディングから広く使用されている UTF-8 へのデータの変換です。
Windows-1256 から UTF-8 への変換
次のようなシナリオを考えてみましょう。 Windows-1256 アラビア語エンコードで保存されたテキストは、UTF-8 に変換する必要があります。 Go でこれを実現するには、次の手順に従います:
必要なパッケージをインポートします:
必要なエンコーディングを使用してエンコーダーを初期化します:
decoder := charmap.Windows1256.NewDecoder()
入力テキストから読み取るリーダーを作成しますオリジナルではエンコード:
reader := strings.NewReader(inputString)
UTF-8 で宛先バッファーに書き込むライターを作成します:
writer := transform.NewWriter(outputStream, utf8.UTF8.NewEncoder())
バイトをコピーしますリーダーからライターに送信され、エンコーダーが次のことを実行できるようになります。変換:
io.Copy(writer, reader)
ライターを閉じて残りのバイトをフラッシュし、変換を終了します:
writer.Close()
このプロセスは正常に変換されます入力テキストを Windows-1256 から UTF-8 に変換し、文字とその表現を保持します。
以上がGo でテキストを任意のエンコーディング (Windows-1256 など) から UTF-8 に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。