Go でのテキストのエンコーディング
テキスト データを操作する場合、多くの場合、異なるエンコーディング間の変換が必要になります。 UTF-8 は、広範囲の文字を表現できる、広く使用されているエンコーディングです。
質問: Windows-1256 アラビア語などのエンコーディングからテキストを UTF- に変換するにはどうすればよいですか。 8 in Go?
答え:
この変換を実行するには、 Go で利用可能なエンコーディング パッケージを利用します。さらに、 golang.org/x/text/encoding/charmap パッケージは、Windows-1256 を含むさまざまなエンコーディングのサポートを提供します。
例:
次のコード スニペットテキストを日本語 UTF-8 から ShiftJIS にエンコードし、その後デコードして元の ShiftJIS に戻す方法を示します。 UTF-8:
package main import ( "bytes" "fmt" "io/ioutil" "strings" "golang.org/x/text/encoding/japanese" "golang.org/x/text/transform" ) func main() { // Input string s := "今日は" fmt.Println(s) // Encode: Convert s from UTF-8 to ShiftJIS var b bytes.Buffer wInUTF8 := transform.NewWriter(&b, japanese.ShiftJIS.NewEncoder()) wInUTF8.Write([]byte(s)) wInUTF8.Close() encodedBytes := b.Bytes() fmt.Printf("%#v\n", encodedBytes) encS := string(encodedBytes) fmt.Println(encS) // Decode: Convert encodedBytes from ShiftJIS to UTF-8 rInUTF8 := transform.NewReader(strings.NewReader(encS), japanese.ShiftJIS.NewDecoder()) decodedBytes, _ := ioutil.ReadAll(rInUTF8) decodedString := string(decodedBytes) fmt.Println(decodedString) }
より包括的な例については、次のリンクを参照してください: https://ja.stackoverflow.com/questions/6120.
以上がGo でテキストを Windows-1256 から UTF-8 に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。