技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

golangでのファイルの文字コード判定

ファイルが utf8 かどうかの判定は、以下のように簡単にできる。

	fp, err := os.Open(filename)
	if err != nil {
		fmt.Println("Can't open file.")
		os.Exit(1)
	}
	defer fp.Close()

	scanner := bufio.NewScanner(fp)
	for scanner.Scan() {
		line := scanner.Text()
		if !utf8.ValidString(line) {
			fmt.Println("Not utf8 file.")
			break
		}
	}