文本文件以EF BB开头,使用UTF8读取

简介: 文本文件以EF BB开头,使用UTF8读取

这几天自己写了个工具,处理代码。测试时发现,有的文件处理错误。


 直接打开文件,也没问题。嗯?吾用UltraEdit打开,转移到16进制格式,看到形状有三个字节:EF FF BF(应该是)。使用FileReader读取,得到的是FEFF,而且说编码是GBK。


 这个编码咱玩得多的了,很熟悉。可是奇怪的事情发生了,吾写入文件时就筹码。于是反复分析,最后怀疑还是编码集错了。于是:


 吾将编码改为UTF8,再写入文件就对了。


 写怎么办?吾干脆跳过这几个字符。



 考虑到其他文件可能是GBK,于是吾先用GBK读取,然后看第一个字节是不是0xFEFF。


 如果是,转UTF8再次读取。


 如果不是,直接处理。


 结果所有代码都处理正确。

目录
相关文章
|
人工智能 Java Spring
使用 Spring Cloud Alibaba AI 构建 RAG 应用
本文介绍了RAG(Retrieval Augmented Generation)技术,它结合了检索和生成模型以提供更准确的AI响应。示例中,数据集(包含啤酒信息)被加载到Redis矢量数据库,Spring Cloud Alibaba AI Starter用于构建一个Spring项目,演示如何在接收到用户查询时检索相关文档并生成回答。代码示例展示了数据加载到Redis以及RAG应用的工作流程,用户可以通过Web API接口进行交互。
53132 159
|
Java 编译器
synchronized 原理分析!
你好,我是猿java。本文详细解析了Java中`synchronized`关键字的工作原理,从对象监视器锁的角度阐述其实现机制,并介绍了锁的获取、释放及字节码级别的实现细节。同时,还探讨了锁优化技术,如偏向锁、轻量级锁、适应性自旋等,以及锁消除和锁粗化等编译器优化。通过具体的字节码分析,展示了不同类型的`synchronized`应用实例。希望对你有所帮助,欢迎关注猿java,获取更多硬核文章。
152 1
|
缓存 数据安全/隐私保护 虚拟化
windows端口被占用,无法通过netstat找到进程,占用的端口又不能修改,该怎么办?
项目运行时服务器8080端口被占用,常规`netstat`命令找不到占用进程。解决方法包括:1) 强制关机重启释放端口;2) 使用`netstat -anobq`或Windows 10的`Get-NetTCPConnection` PowerShell命令查找BOUND状态的进程;3) 调整Windows动态端口范围,避免冲突。注意,强制关机可能影响数据安全。
4252 2
|
应用服务中间件
tomcat 部署位置定义方法备忘
当前 tomcat  部署位置   /usr/local/tomcat, 希望应用存放到 /data 可以通过下面方法实现 方法1 $CATALINA_HOME/conf/server.xml <Context  path ="/tao"  reloadable ="false"  docBase ="/usr/local/tomcat"  workDir ="/data"
1045 0
|
2天前
|
云安全 数据采集 人工智能
古茗联名引爆全网,阿里云三层防护助力对抗黑产
阿里云三层校验+风险识别,为古茗每一杯奶茶保驾护航!
古茗联名引爆全网,阿里云三层防护助力对抗黑产
|
3天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
465 1

热门文章

最新文章