继承我的代码:
var fs = require('fs');
var corpus = fs.readFileSync('./TXT/tragedies/Macbeth.txt', 'utf8');
console.log(corpus.toString());
当我运行这个时,我得到了一堆无意义的unicode字符:
00\r\u0000\n\u0000<\u0000/\u0000S\u0000T\u0000A\u0000G\u0000E\u0000 \u0000D\u0000I\u0000R\u0000>\u0000\r\u0000\n\u0000\r\u0000\n\u0000<\u0000M\u0000A\u0000L\u0000C\u0000O\u0000L\u0000M\u0000>\u0000\t\u0000<\u00009\u00009\u0000%\u0000>\u0000\r\u0000\n\u0000\t\u0000W\u0000e\u0000 \u0000s\u0000h\u0000a\u0000l\u0000l\u0000 \u0000n\u0000o\u0000t\u0000 \u0000s\u0000p\u0000e\u0000n\u0000d\u0000 \u0000a\u0000 \u0000l\u0000a\u0000r\u0000g\u0000e\u0000 \u0000e\u0000x\u0000p\u0000e\u0000n\u0000s\u0000e\u0000 \u0000o\u0000f\u0000 \u0000t\u0000i\u0000m\u0000e\u0000\r\u0000\n\u0000\t\u0000B\u0000e\u0000f\u0000o\u0000r\u0000e\u0000 \u0000w\u0000e\u0000 \u0000r\u0000e\u0000c\u0000k\u0000o\u0000n\u0000 \u0000w\u0000i\u0000t\u0000h\u0000 \u0000y\u0000o\u0000u\u0000r\u0000 \u0000s\u0000e\u0000v\u0000e\u0000r\u0000a\u0000l\u0000 \u0000l\u0000o\u0000v\u0000e\u0000s\u0000,\u0000\r\u0000\n\u0000\t\u0000A\u0000n\u0000d\u0000 \u0000m\u0000a\u0000k\u0000e\u0000 \u0000u\u0000s\u0000 \u0000e\u0000v\u0000e\u0000n\u0000 \u0000w\u0000i\u0000t\u0000h\u0000 \u0000y\u0000o\u0000u\u0000.\u0000 \u0000M\u0000y\u0000 \u0000t\u0000h\u0000a\u0000n\u0000e\u0000s\u0000 \u0000a\u0000n\u0000d\u0000 \u0000k\u0000i\u0000n\u0000s\u0000m\u0000e\u0000n\u0000,\u0000\r\u0000\n\u0000\t\u0000H\u0000e\u0000n\u0000c\u0000e\u0000f\u0000o\u0000r\u0000t\u0000h\u0000 \u0000b\u0000e\u0000 \u0000e\u0000a\u0000r\u0000l\u0000s\u0000,\u0000 \u0000t\u0000h\u0000e\u0000 \u0000f\u0000i\u0000r\u0000s\u0000t\u0000 \u0000t\u0000h\u0000a\u0000t\u0000 \u0000e\u0000v\u0000e\u0000r\u0000 \u0000S\u0000c\u0000o\u0000t\u0000l\u0000a\u0000n\u0000d\u0000\r\u0000\n\u0000\t\u0000I\u0000n\u0000 \u0000s\u0000u\u0000c\u0000h\u0000 \u0000a\u0000n\u0000 \u0000h\u0000o\u0000n\u0000o\u0000u\u0000r\u0000 \u0000n\u0000a\u0000m\u0000\'\u0000d\u0000.\u0000 \u0000W\u0000h\u0000a\u0000t\u0000\'\u0000s\u0000 \u0000m\u0000o\u0000r\u0000e\u0000 \u0000t\u0000o\u0000 \u0000d\u0000o\u0000,\u0000\r\u0000\n\u0000\t\u0000W\u0000h\u0000i\u0000c\u0000h\u0000 \u0000w\u0000o\u0000u\u0000l\u0000d\u0000 \u0000b\u0000e\u0000 \u0000p\u0000l\u0000a\u0000n\u0000t\u0000e\u0000d\u0000 \u0000n\u0000e\u0000w\u0000l\u0000y\u0000 \u0000w\u0000i\u0000t\u0000h\u0000 \u0000t\u0000h\u0000e\u0000 \u0000t\u0000i\u0000m\u0000e\u0000,\u0000\r\u0000\n\u0000\t\u0000A\u0000s\u0000 \u0000c\u0000a\u0000l\u0000l\u0000i\u0000n\u0000g\u0000 \u0000h\u0000o\u0000m\u0000e\u0000 \u0000o\u0000u\u0000r\u0000 \u0000e\u0000x\u0000i\u0000l\u0000\'\u0000d\u0000 \u0000f\u0000r\u0000i\u0000e\u0000n\u0000d\u0000s\u0000 \u0000a\u0000b\u0000r\u0000o\u0000a\u0000d\u0000\r\u0000\n\u0000\t\u0000T\u0000h\u0000a\u0000t\u0000 \u0000f\u0000l\u0000e\u0000d\u0000 \u0000t\u0000h\u0000e\u0000 \u0000s\u0000n\u0000a\u0000r\u0000e\u0000s\u0000 \u0000o\u0000f\u0000 \u0000w\u0000a\u0000t\u0000c\u0000h\u0000f\u0000u\u0000l\u0000 \u0000t\u0000y\u0000r\u0000a\u0000n\u0000n\u0000y\u0000;\u0000\r\u0000\n\u0000\t\u0000P\u0000r\u0000o\u0000d\u0000u\u0000c\u0000i\u0000n\u0000g\u0000 \u0000f\u0000o\u0000r\u0000t\u0000h\u0000 \u0000t\u0000h\u0000e\u0000 \u0000c\u0000r\u0000u\u0000e\u0000l\u0000 \u0000m\u0000i\u0000n\u0000i\u0000s\u0000t\u0000e\u0000r\u0000s\u0000\r\u0000\n\u0000\t\u0000O\u0000f\u0000 \u0000t\u0000h\u0000i\u0000s\u0000 \u0000d\u0000e\u0000a\u0000d\u0000 \u0000b\u0000u\u0000t\u0000c\u0000h\u0000e\u0000r\u0000 \u0000a\u0000n\u0000d\u0000 \u0000h\u0000i\u0000s\u0000 \u0000f\u0000i\u0000e\u0000n\u0000d\u0000-\u0000l\u0000i\u0000k\u0000e\u0000 \u0000q\u0000u\u0000e\u0000e\u0000n\u0000,\u0000\r\u0000\n\u0000\t\u0000W\u0000h\u0000o\u0000,\u0000 \u0000a\u0000s\u0000 \u0000\'\u0000t\u0000i\u0000s\u0000 \u0000t\u0000h\u0000o\u0000u\u0000g\u0000h\u0000t\u0000,\u0000 \u0000b\u0000y\u0000 \u0000s\u0000e\u0000l\u0000f\u0000 \u0000a\u0000n\u0000d\u0000 \u0000v\u0000i\u0000o\u0000l\u0000e\u0000n\u0000t\u0000 \u0000h\u0000a\u0000n\u0000d\u0000s\u0000\r\u0000\n\u0000\t\u0000T\u0000o\u0000o\u0000k\u0000 \u0000o\u0000f\u0000f\u0000 \u0000h\u0000e\u0000r\u0000 \u0000l\u0000i\u0000f\u0000e\u0000;\u0000 \u0000t\u0000h\u0000i\u0000s\u0000,\u0000 \u0000a\u0000n\u0000d\u0000 \u0000w\u0000h\u0000a\u0000t\u0000 \u0000n\u0000e\u0000e\u0000d\u0000f\u0000u\u0000l\u0000 \u0000e\u0000l\u0000s\u0000e\u0000\r\u0000\n\u0000\t\u0000T\u0000h\u0000a\u0000t\u0000 \u0000c\u0000a\u0000l\u0000l\u0000s\u0000 \u0000u\u0000p\u0000o\u0000n\u0000 \u0000u\u0000s\u0000,\u0000 \u0000b\u0000y\u0000 \u0000t\u0000h\u0000e\u0000 \u0000g\u0000r\u0000a\u0000c\u0000e\u0000 \u0000o\u0000f\u0000 \u0000G\u0000r\u0000a\u0000c\u0000e\u0000\r\u0000\n\u0000\t\u0000W\u0000e\u0000 \u0000w\u0000i\u0000l\u0000l\u0000 \u0000p\u0000e\u0000r\u0000f\u0000o\u0000r\u0000m\u0000 \u0000i\u0000n\u0000 \u0000m\u0000e\u0000a\u0000s\u0000u\u0000r\u0000e\u0000,\u0000 \u0000t\u0000i\u0000m\u0000e\u0000,\u0000 \u0000a\u0000n\u0000d\u0000 \u0000p\u0000l\u0000a\u0000c\u0000e\u0000:\u0000\r\u0000\n\u0000\t\u0000S\u0000o\u0000,\u0000 \u0000t\u0000h\u0000a\u0000n\u0000k\u0000s\u0000 \u0000t\u0000o\u0000 \u0000a\u0000l\u0000l\u0000 \u0000a\u0000t\u0000 \u0000o\u0000n\u0000c\u0000e\u0000 \u0000a\u0000n\u0000d\u0000 \u0000t\u0000o\u0000 \u0000e\u0000a\u0000c\u0000h\u0000 \u0000o\u0000n\u0000e\u0000,\u0000\r\u0000\n\u0000\t\u0000W\u0000h\u0000o\u0000m\u0000 \u0000w\u0000e\u0000 \u0000i\u0000n\u0000v\u0000i\u0000t\u0000e\u0000 \u0000t\u0000o\u0000 \u0000s\u0000e\u0000e\u0000 \u0000u\u0000s\u0000 \u0000c\u0000r\u0000o\u0000w\u0000n\u0000\'\u0000d\u0000 \u0000a\u0000t\u0000 \u0000S\u0000c\u0000o\u0000n\u0000e\u0000.\u0000\r\u0000\n\u0000<\u0000/\u0000M\u0000A\u0000L\u0000C\u0000O\u0000L\u0000M\u0000>\u0000\r\u0000\n\u0000<\u0000S\u0000T\u0000A\u0000G\u0000E\u0000 \u0000D\u0000I\u0000R\u0000>\u0000\r\u0000\n\u0000<\u0000F\u0000l\u0000o\u0000u\u0000r\u0000i\u0000s\u0000h\u0000.\u0000 \u0000E\u0000x\u0000e\u0000u\u0000n\u0000t\u0000.\u0000>\u0000\r\u0000\n\u0000<\u0000/\u0000S\u0000T\u0000A\u0000G\u0000E\u0000 \u0000D\u0000I\u0000R\u0000>\u0000\r\u0000\n\u000
我做错了什么?
答案 0 :(得分:2)
实际上,您不需要将readFileSync的输出转换为字符串,因为它已经是一个字符串。
var fs = require('fs');
var file = fs.readFileSync("file.txt", "utf8");
console.log(file);
console.log(typeof file);
输出:
File content
here's a new paragraph
string
仅供参考,您使用的是什么版本的Node? 我在4.4.7上做了什么。