go判断utf-8文件是否带BOM

作者: ljh123 | 来源:发表于2018-12-27 17:32 被阅读1次
    之前在阅读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文件")
        }
    }
    

    相关文章

      网友评论

        本文标题:go判断utf-8文件是否带BOM

        本文链接:https://www.haomeiwen.com/subject/nvldlqtx.html