来看这句话:
var b = new Buffer('Hello 慕课网','base64');
因为中文`慕课网`三个字不在 base64 的“值域”里,所以这样编码成二进制数据时,丢失了信息。利用编码出来的 Buffer 不能完整恢复原来的信息了。也就是说,接下来如果执行 b.toString('base64') 不能得到完整的 "Hello 慕课网" 这个字符串了。
用 utf-8 方法编码就可以。
个人感觉,当使用一种编码方式把字符串转化成 Buffer 时,为防止信息丢失,应该确保这个字符串在此种编码方式的“值域”里。
var b = new Buffer('Hello 慕课网','base64');
因为中文`慕课网`三个字不在 base64 的“值域”里,所以这样编码成二进制数据时,丢失了信息。利用编码出来的 Buffer 不能完整恢复原来的信息了。也就是说,接下来如果执行 b.toString('base64') 不能得到完整的 "Hello 慕课网" 这个字符串了。
用 utf-8 方法编码就可以。
个人感觉,当使用一种编码方式把字符串转化成 Buffer 时,为防止信息丢失,应该确保这个字符串在此种编码方式的“值域”里。
2016-05-16
I am a beginner, listen to your class I feel pretty good, you are a good teacher, thank you very much
2016-05-10
最赞回答 / marshall_stan
你参考下这个http://sentsin.com/web/179.html;;;; .call只是把别的某个函数拿来自己用,,而util.inherits是把stream.Readable圆形链上面的函数继承到ReadStream上来!PS:有错请指出
2016-05-09