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 중국어 웹사이트의 기타 관련 기사를 참조하세요!