「Go/ソースコードの表現方法」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
18 行
この様に、ソースコードの文字コードを言語仕様書で明確に規定しているので、それ以外の文字コードを使うことは仕様に反した使用方法です。
 
UTF-8エンコードに規定されているのはソースコードだけなので、他の文字コードでエンコーディングされたファイルの読み書きは専用のパッケージで定義された関数を使います。
 
;日本語:"[https://pkg.go.dev/golang.org/x/text/encoding/japanese golang.org/x/text/encoding/japanese]" -- EUCJP, ISO2022JP, ShiftJIS
45 行
 
import (
"io"
 
"golang.org/x/text/encoding/japanese"
"golang.org/x/text/transform"
)
 
//Conversion
func Conversion(inStream io.Reader, outStream io.Writer) error {
// ストリームからの読み込み(Shift-JIS → UTF-8)
transform.NewReader(inStream, japanese.ShiftJIS.NewDecoder())
 
// ストリームへの書き込み(UTF-8 → EUC-JP)
transform.NewWriter(outStream, japanese.EUCJP.NewEncoder())
 
// コピー
if _, err := io.Copy(writer, reader); err != nil {
return err
}
}
return nil
}
</source>