Txt格式配置表无法解析的问题——BOM
今天再次遇到同一个问题:策划给来一个Txt格式配置表,我用解析类去读取,返回的结果为空。解析类参数是:主键key,文件名fileName,错误提示errorTip。
写读取语句的时候,主键key我是直接从txt文件中复制出来,它是txt文件的第一个字符串,文件名fileName也是直接复制文件名。
由于已经不是第一次遇到,这次决定不能再视而不见。
首先在解析类里打印,发现其他配置表都正常,就是这个读取语句中打印出来的key,看起来一模一样,但是就是无法被识别为与程序读取到的key是相等的,想起上次看博客时提到微软的记事本会在文件里加标记符号,于是删除key再手打,发现依然如故。
回到读取语句,发现删除直接复制过来的key字符串时,删除完key内容之后,想要继续删除包含该key的“符号时,光标依然在原处,这才发现“符号后有一个看不见的字符。于是google Txt文件头的相关资料,了解到:文本文件编码时,会在文件头添加字节顺序标记(Byte Order Mark), 用于标识文件是采用那种格式的编码。一般的文本编辑器是看不见这个标记的(实测Vim可以看见),由于与文件头相连,所以直接复制文本文件开头的字符串时会把这个标记一起复制。最后导致文本解析类判定读取语句给的key参数(包含BOM)与解析类中文本读取方法所读取到的key不一致。
解决办法:下次写读取文本语句时,莫偷懒直接复制,自己手动敲即可。或者复制过来的时候,光标跳到string头部删除一次不可见的BOM。
PS:如何生成无BOM的文本文件:
1、notepad++ 格式栏有转换为无BOM格式的选项。
2、Vim打开文件可以看到BOM文件头删除即可。
转载于:https://www.cnblogs.com/lwblog/p/4918751.html
Txt格式配置表无法解析的问题——BOM相关推荐
- 连连看项目实战之三(解析配置表)
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 这是一款连连看,如果只能连连,那估计大家看看就没兴趣了.如果在里面加上一些场景式对话,那么可能就会有意思许多. 今天就带大家学习Uni ...
- Python解析pdf转为TXT格式
#完成pdf到TXT转变了,无法完成TXT到Excel转变import xlwt # 写入文件 import xlrd # 打开excel文件 from xlutils.copy import cop ...
- 一个用JAVA解析TXT格式文本文档的程序举例
实体类 package txt; public class AliDataRecord {private String FSTR_SCATSID;private String FSTR_DESC;pr ...
- python读取txt文件写入-Python读写txt文本文件的操作方法全解析
一.文件的打开和创建 >>> f = open('/tmp/test.txt') >>> f.read() 'hello python! hello world! ...
- hive 导出json格式 文件_hive中创建hive-json格式的表及查询
在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive ...
- Python读写txt文本文件的操作方法全解析
这篇文章主要介绍了Python读写txt文本文件的操作方法全解析,包括对文本的查找和替换等技巧的讲解,需要的朋友可以参考下 一.文件的打开和创建 ? 1 2 3 4 5 >>> f ...
- 城市代码表_从零开始做一个SLG游戏(六)游戏系统以及配置表
本文主要是来梳理下游戏内的基本系统(虽然只是照搬polytopia的,但是还是要总结一下),并预先做一些配置表,并实现读取. 一.经济系统 1.总述 经济系统可以是整个游戏的核心.在本游戏中只有一种资 ...
- 【githubshare】支持有声小说与文本小说,可下载 mobi、epub、txt 格式文本小说,兼容 Win
分享一款项目管理后台搭建工具:Motor Admin.无需编码,即可快速为应用搭建简单易用的管理后台. 开发者可定制 CRUD 界面,并提供表单生成器.SQL 语句在线运行.数据可视化.应用管理面板. ...
- 从零开始做一个SLG游戏(七):游戏系统以及配置表
本文主要是来梳理下游戏内的基本系统(虽然只是照搬polytopia的,但是还是要总结一下),并预先做一些配置表,并实现读取. 一.经济系统 1.总述 经济系统可以是整个游戏的核心.在本游戏中只有一种资 ...
最新文章
- 一晚上就能让你小腹变小的方法 - 健康程序员,至尚生活!
- testNG安装一直失败解决方法
- Linux 的系统运行级别
- PHP进行图片下载的时候,出现图片损坏,无法打开(实质原因,多输出了一个空白字符ZWNBSP )
- python文件解除占用_如何使用Python解锁锁定的文件和文件夹(mac)
- iOS WebView 加载本地资源(图片,文件等)
- 【火炉炼AI】机器学习040-NLP性别判断分类器
- 某大型银行深化系统技术方案之六:系统架构之运作流程
- 算法:First Missing Positive(求缺失的第一个正整数)
- spring框架实现实例化和依赖注入的方式分别是什么_Spring 面试问题
- 顺利通过PMP考试 PMP备考总结
- idea 导入 android项目以及自带AVD模拟器的使用
- 历练熟女给老实木讷男孩的恋爱建议(转贴)
- 2022年5月语音合成(TTS)和语音识别(ASR)论文月报
- 移动支付“车水码龙”,但也小心“塞翁失码”
- UIView的animateWithDuration动画不执行问题
- linux u盘分区 mdev 卸载问题,迅为开发板最小Linux自动挂载TF卡/U盘等存储设备
- 溯源(六)之溯源的方法
- 深入学习Gremlin(5):查询路径path
- 矩阵顺时针旋转90度