>백엔드 개발 >Golang >Go에서 Windows-1256의 텍스트를 UTF-8로 변환하는 방법은 무엇입니까?

Go에서 Windows-1256의 텍스트를 UTF-8로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-29 16:43:18189검색

How to Convert Text from Windows-1256 to UTF-8 in Go?

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.