前言
前几天用nodejs去读取文件的时候发现了个问题,
文件是txt,内容是:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019080116520047.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgzMzU3MA==,size_16,color_FFFFFF,t_70)
node代码:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190801165254990.png)
打印出来的data
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190801165336672.png)
readFile不指定编码的话,返回的数据是Buffer类型。
41,42,43对应的应该是A,B,C.
e8 b5 b5对应的应该是中文赵。
可是,当我打断点再看data的时候,发现变了。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190801165604993.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgzMzU3MA==,size_16,color_FFFFFF,t_70)
什么鬼?到底data里面存的字面A是41,还是65,
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190801165753980.png)
A的Unicode10进制是65,16进制是41.继续打印data[0]
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190801165916674.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgzMzU3MA==,size_16,color_FFFFFF,t_70)
发现是65.所以为什么之前打印Buffer会是41呢??现在也没搞明白。有大神能告知吗?但是肯定的是Buffer中存的数字是10进制。