外向小朋友 2019-06-18 14:35 采纳率: 66.7%
浏览 509
已采纳

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

用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条回答 默认 最新

  • 天健胡马灵越鸟 2019-06-18 16:24
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • lllomh 2019-06-18 14:54
    关注

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

    评论
  • 外向小朋友 2019-06-18 16:23
    关注

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

    评论
  • 搬运工木木 2019-06-19 19:40
    关注

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

    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 10月19日

悬赏问题

  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据
  • ¥15 学习C++过程中遇到的问题
  • ¥15 关于Linux的终端里,模拟实现一个带口令保护的屏保程序遇到的输入输出的问题!(语言-c语言)
  • ¥15 学习C++过程中遇到的问题
  • ¥15 请问,这个嵌入式Linux系统怎么分析,crc检验区域在哪
  • ¥15 二分类改为多分类问题
  • ¥15 Unity微信小游戏上调用ReadPixels()方法报错
  • ¥15 如何通过求后验分布求得样本中属于两种物种其中一种的概率?
  • ¥15 q从常量变成sin函数,怎么改写python代码?