这里有新鲜出炉的 Node.JS 入门教程,程序狗速度看过来!
Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用 · Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的实时应用
本文是作者在进行 NodeJs 开发时偶然发现的问题,经过一番努力,最终找到解决方案,分享给大家,有需要的小伙伴可以参考下
进行 NodeJs 开发时偶然发现的一个雷点
正常情况下从 JSON 文件读取到字符后再通过 JSON.parse 没什么问题,只要格式不出错
有时在确保 JSON 格式正确时仍然会出现 unexpected token 异常
经过调查发现里面有不会显示的 unicode 字符
于是确定是 UTF-8 的问题,utf-8 分有 dom 版和无 dom 版,一般编辑器不刻意设置会默认保存为带 dom 的 utf8
解决办法是先将读到的文件转成二进制,然后检索 dom 符号删除
代码实现部分
- function readText(pathname) {
- var bin = fs.readFileSync(pathname);
- if (bin[0] === 0xEF && bin[1] === 0xBB && bin[2] === 0xBF) {
- bin = bin.slice(3);
- }
- return bin.toString('utf-8');
- }
来源: http://www.phperz.com/article/17/0510/331602.html