ファイルのエンコーディングを変更することが重要です。Go 言語は、この操作を実現するために io.Copy および charset パッケージを使用します。手順は次のとおりです: 1. 変換するファイルを開きます; 2. 新しいエンコーディングで新しいファイルを作成します; 3. 古いファイルからデータを読み取り、新しいエンコーディングで新しいファイルに書き込みます; 4. ファイルを閉じます。

Golang を使用したファイル エンコーディングの変更
ファイルのエンコーディングの変更は、さまざまなシステムからのデータを処理するために重要です。 Go では、io.Copy
および charset
パッケージを使用してこれを簡単に行うことができます。
ファイル エンコーディングを変更する手順:
- 変換するファイルを開きます。
- 指定されたエンコード形式で新しいファイルを作成します。
- 古いファイルからデータを読み取り、新しいエンコーディングを使用して新しいファイルに書き込みます。
- ファイルを閉じます。
コード例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package main
import (
"fmt"
"io"
"io/ioutil"
"os"
"golang.org/x/text/encoding/charmap"
)
func main() {
oldFile := "old_file.txt"
oldEncoding := "windows-1252"
newEncoding := "utf-8"
oldBytes, err := ioutil.ReadFile(oldFile)
if err != nil {
fmt.Println(err)
return
}
newFile, err := os.Create( "new_file.txt" )
if err != nil {
fmt.Println(err)
return
}
defer newFile.Close()
reader := charmap.NewReader(bytes.NewReader(oldBytes), oldEncoding)
writer := charmap.NewWriter(newFile, newEncoding)
_, err = io. Copy (writer, reader)
if err != nil {
fmt.Println(err)
return
}
}
|
ログイン後にコピー
実際のケース:
次は、Windows-1252 をエンコードするテキストです。ファイルを UTF-8 エンコードに変換する実際のケース:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | package main
import (
"os"
"golang.org/x/text/encoding/charmap"
)
func main() {
oldFile, err := os.Open( "windows-1252_file.txt" )
if err != nil {
fmt.Println(err)
return
}
defer oldFile.Close()
reader := charmap.NewReader(oldFile, "windows-1252" )
newFile, err := os.Create( "utf8_file.txt" )
if err != nil {
fmt.Println(err)
return
}
defer newFile.Close()
_, err = io. Copy (newFile, reader)
if err != nil {
fmt.Println(err)
return
}
fmt.Println( "文件编码已成功修改。" )
}
|
ログイン後にコピー
以上がGolangを使ってファイルエンコードを変更する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。