go判断utf-8文件是否带BOM
2018-12-27 本文已影响1人
ljh123
之前在阅读beego config模块ini.go文件的时候,遇到了一行不懂的代码
image.png
后面知道这行的作用可以用来判断是否为一个utf-8 BOM文件,如果是一个utf8 bom格式文件,读取首内容是239 187 191,可以使用notepad++和下面代码进行测试
package main
import (
"bufio"
"bytes"
"fmt"
"io/ioutil"
)
func main() {
data, err := ioutil.ReadFile("")
buf := bufio.NewReader(bytes.NewBuffer(data))
head, err := buf.Peek(3)
fmt.Println(head, err)
if err == nil && head[0] == 239 && head[1] == 187 && head[2] == 191 {
fmt.Println("这是一个utf-8 bom文件")
}
}