当前位置: 首页 > news >正文

大学 英文网站建设百度应用宝

大学 英文网站建设,百度应用宝,在线做免费网站有哪些,如何做自己的论坛网站使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应我要用 chatgpt,也问过,但是比 deepseek 还是差一个级别,具体如下: package mainimport ("bufio&qu…
  • 使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应
  • 我要用 chatgpt,也问过,但是比 deepseek 还是差一个级别,具体如下:
package mainimport ("bufio""bytes""fmt""golang.org/x/net/html/charset""golang.org/x/text/encoding/unicode""golang.org/x/text/transform""io""os""strings"
)// detectBOM 检测常见的BOM类型并返回编码名称和BOM长度
func detectBOM(b []byte) (enc string, bomLen int) {// UTF-8 BOMif len(b) >= 3 && b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF {return "UTF-8 BOM", 3}// UTF-16 LE/BEif len(b) >= 2 {if b[0] == 0xFF && b[1] == 0xFE {return "UTF-16LE", 2}if b[0] == 0xFE && b[1] == 0xFF {return "UTF-16BE", 2}}// UTF-32 LE/BE (可能不常见,但示例处理)if len(b) >= 4 {if b[0] == 0xFF && b[1] == 0xFE && b[2] == 0x00 && b[3] == 0x00 {return "UTF-32LE", 4}if b[0] == 0x00 && b[1] == 0x00 && b[2] == 0xFE && b[3] == 0xFF {return "UTF-32BE", 4}}return "", 0
}// ReadTextFile 逐行读取文本文件,自动处理编码和BOM
func ReadTextFile(filename string) ([]string, error) {file, err := os.Open(filename)if err != nil {return nil, err}defer file.Close()// 读取前4字节用于BOM检测bomBuf := make([]byte, 4)n, err := file.Read(bomBuf)if err != nil && err != io.EOF {return nil, err}bomBuf = bomBuf[:n]enc, bomLen := detectBOM(bomBuf)var source io.Readervar decoder transform.Transformerif enc != "" {// 处理带BOM的情况remaining := bomBuf[bomLen:]source = io.MultiReader(bytes.NewReader(remaining), file)switch enc {case "UTF-8 BOM":decoder = unicode.UTF8.NewDecoder()case "UTF-16LE":decoder = unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM).NewDecoder()case "UTF-16BE":decoder = unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM).NewDecoder()default:return nil, fmt.Errorf("unsupported encoding: %s", enc)}} else {// 无BOM时检测编码source = io.MultiReader(bytes.NewReader(bomBuf), file)br := bufio.NewReader(source)// 读取前1024字节进行编码检测detectBuf, err := br.Peek(1024)if err != nil && err != io.EOF {return nil, err}// 自动检测编码e, _, _ := charset.DetermineEncoding(detectBuf, "")if e == nil {e = unicode.UTF8 // 默认UTF-8}decoder = e.NewDecoder()source = br}// 创建UTF-8转换Readerutf8Reader := transform.NewReader(source, decoder)scanner := bufio.NewScanner(utf8Reader)var lines []stringfor scanner.Scan() {lines = append(lines, scanner.Text())}if err := scanner.Err(); err != nil {return nil, err}return lines, nil
}// 过滤双引号已经前后空格
func Filter(lists []string) []string {r := make([]string, 0, len(lists))for _, list := range lists {item := strings.TrimSpace(list)if len(item) >= 2 {first := item[0]last := item[len(item)-1]if first == last && first == '"' {r = append(r, strings.TrimSpace(item[1:len(item)-1]))} else {r = append(r, item)}} else {r = append(r, item)}}return r
}
func main() {name := "./csv/export.csv"lines, err := ReadTextFile(name)if err != nil {fmt.Println("读取错误:" + err.Error())return}for _, line := range lines {lists := Filter(strings.Split(line, "\t"))fmt.Println(line + "  ==>  " + strings.Join(lists, ","))}}
http://www.ds6.com.cn/news/5444.html

相关文章:

  • 有关网站招标商务标书怎么做独立站
  • 网站建设销售销售流程关键词挖掘工具有哪些
  • 昆明电子商务网站建设网络推广和运营的区别
  • 做网站推广需要什么新站seo快速排名 排名
  • 网站关键词过多十种营销方法
  • 做京东商城网站网站代发外链
  • 昆明做网站的曼联vs曼联直播
  • 福州网站设计大概费用如何开发自己的小程序
  • 怎么做个人网站搜索引擎seo如何赚钱
  • 大众点评网站团购怎么做百度推广方法
  • 四川城乡建设网站证件查询海南百度推广seo
  • 网页设计视频教程-响应式手机网站制作百度seo排名优化提高流量
  • 网站建设哪家好胆中毒免费推广方法
  • 孟村网站建设网络推广站
  • 陕西营销型网站制作台州做优化
  • 网站建设公司的性质自己怎么建网站
  • 竞拍网站大竞技btoc篇微信朋友圈广告推广
  • 如何和其他网站做友情链接泰安seo培训
  • 制作 网站导航 下拉菜单软文推广500字
  • 印江建设局网站网址大全浏览器
  • ks免费刷粉网站推广马上刷公司网站推广费用
  • 网站设计建设网站流量统计系统
  • 网站主页不收录整站外包优化公司
  • ps网站首页设计图东莞网站优化
  • 东莞高埗做网站哪个公司好全球搜索引擎
  • 广西贵港建设集团有限公司网站域名停靠浏览器
  • 排名好的手机网站建设seo网站自动推广
  • 大学生做外包项目的网站石家庄新闻最新消息
  • 地区性网站制作百度首页排名优化公司
  • 龙华做网站公司全网推广软件