为什么fs.readFileSync编码单引号内的脚本标签为"

Why fs.readFileSync encode single quote inside script tag to "?

本文关键字:标签 quot 脚本 readFileSync fs 编码 单引号 为什么      更新时间:2023-09-26

我想使用fs.readFileSync获取服务器上HTML文件的内容。但是返回的字符串是编码的。奇怪的是fs。readFileSync只编码这3个字符,这些字符位于script标签内:

& => &
' => " (single quote)
" => " (double quote)

下面是我的读取文件代码:

var content = fs.readFileSync("./path/to/file.htm", 'utf-8');

我怎样才能得到我的html文件的原始内容?

对不起,这是我的错误。实际上,fs.readFileSync不是问题所在。获得内容之后,我将内容输入到cheerio,并再次从cheerio加载内容。代码如下:

var cheerio = require('cheerio');
var content = fs.readFileSync("./path/to/file.htm", 'utf-8');
var $ = cheerio.load(content);

console.log ($ . html ());//这将返回带有编码内联javascript的HTML