golangでGo !!

とりあえずGo言語を触っていきます。

Goで文字コードを扱う方法

golangは基本的にUnicodeが基本ですね

文字もUTF-8で扱うので日本語sjisを扱う場面では色々と面倒なのですが、

ちゃんとライブラリが用意されてます!

 

とりあえずいつものようにgo get しちゃいます。

pkg.go.dev

 

使い方はまずimportして

import (
 
"golang.org/x/text/encoding/japanese"
"golang.org/x/text/transform"
 
)

 

変換エンコーディングするだけでお気軽ですねー

func sjis2utf8(str string) (string, error) {
ret, err := io.ReadAll(transform.NewReader(strings.NewReader(str),
                               japanese.ShiftJIS.NewDecoder()))

if err != nil {
return "", err
}

return string(ret), err

}

戻り値はちゃんとsjisに変換されてます。

他にも別のパッケージもあるけど、これが一番カジュアルで簡単な気がしますね。