您好,gb2312是一种字符编码方式,可以使用Go语言标准库中的unicode/utf8包来检测文本是否为gb2312编码。具体实现如下:
package main
import (
"fmt"
"unicode/utf8"
)
func isGB2312(s []byte) bool {
for len(s) > 0 {
r, size := utf8.DecodeRune(s)
if r == utf8.RuneError {
return false
}
if r >= 0x4E00 && r <= 0x9FA5 || r >= 0xA1 && r <= 0xFE {
s = s[size:]
continue
}
return false
}
return true
}
func main() {
str := "测试gb2312编码"
gb2312 := []byte(str)
fmt.Println(isGB2312(gb2312))
}
以上代码会输出true,表明该字符串符合gb2312编码。