用nodejs里面内置的模块读utf-8格式的txt,里面出现一个正方形符号,导致后面的数据读不出来,求问? 5C

用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之后出现的这么个东西,我一开始还以为这个小正方形是数组的两个中括号,但是好像不是。

4个回答

你应该把你 txt 文件 内容放出来 或许你 文字内容格式问题

weixin_40538809
外向小朋友 open=http://localhost62114/Account/Login 这就是第一行
大约一年之前 回复
weixin_40538809
外向小朋友 我更新了,但是我可以确定,文字没有什么问题
大约一年之前 回复

我烦了,既然所有的开头都会出现这个,那我直接把第一个字符用substring截取掉,暴力解决

不会是window文件的格式头吧,你是从windows移到linux的文件?NT平台到POSIX平台的文件通病...

pansaky
天健胡马灵越鸟 回复外向cs:如果是windows文件的话这里可以解决:https://www.cnblogs.com/fnlingnzb-learner/p/5832396.html
大约一年之前 回复
weixin_40538809
外向小朋友 我一直都是在windows上面操作呀,你知道怎么解决嘛
大约一年之前 回复

是文件起始位置么?如果是起始位置,那么很可能是bom格式的问题,utf-8文件其实有两种类型,一种带bom,一种不带bom,带bom的开头会有一个不可见字符。解决方法也很简单,存成无bom格式编码的utf-8

xinggg
搬运工木木 回复外向cs: 你可以用notepad++,其他编辑器我没试过
大约一年之前 回复
weixin_40538809
外向小朋友 bom?,txt文本文件另存为的时候只有一个utf-8的选择,怎么办?用其他编辑器试试?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问