用nodejs里面内置的模块读utf-8格式的txt,里面出现一个奇怪的东西,导致后面的数据读不出来,先贴代码
'use strict';
const fs = require("fs");
var iconv = require('iconv-lite');
const path = "C://Users//Administrator//Desktop//book1.txt"; // text文件的路径
const isExist = fs.existsSync(path); // 判断该文件是否存在
const data = isExist ? fs.readFileSync(path, "utf-8") : "";
var events = require('./AllAction/eventsFactory');
events.choose('login', data);
再贴出错的地方
如图,上面出现了一个小正方形,一开始没去管它,然后我切了个数组运行的时候判断的是
if(a[0]==open),结果页面出不来,于是我换成判断里面是否含有http字符串,结果运行之后,一直在初始页面刷新
我想问的是,这前面到底是个什么东西,怎么去掉
ps:我是把txt文件从ANSI换成了utf-8之后出现的这么个东西,我一开始还以为这个小正方形是数组的两个中括号,但是好像不是。
不会是window文件的格式头吧,你是从windows移到linux的文件?NT平台到POSIX平台的文件通病...
你应该把你 txt 文件 内容放出来 或许你 文字内容格式问题
我烦了,既然所有的开头都会出现这个,那我直接把第一个字符用substring截取掉,暴力解决
是文件起始位置么?如果是起始位置,那么很可能是bom格式的问题,utf-8文件其实有两种类型,一种带bom,一种不带bom,带bom的开头会有一个不可见字符。解决方法也很简单,存成无bom格式编码的utf-8