node.js Buffer模块

博客搬家:由于各种原因,我现在的博客将首发于blog.mojijs.com, 可以百度搜索 “姜哥的墨迹技术博客” , 或者 点击这里 本文地址 http://blog.mojijs.com/post/13.html
Buffer
纯JavaScript是unicode友好的,并不支持二进制数据。当处理TCP流或者文件系统的时候处理字节流是避免不了的,因此node提供了一些操作字节流的方法。

原始数据可以被存储在Buffer类中。Buffer类似于整型数组,但是它对应一个原始内存空间,并不在V8的堆空间。一旦Buffer的内存空间分配结束,空间大小将不能被更改。

Buffer是global的一个属性,也就是说不用引入任何模块就可以直接使用Buffer类。你也可以通过引入buffer模块来使用Buffer,require("buffer").Buffer === global.Buffer这个等式是成立的。

在Buffer和JavaScript字符串之间转换需要明确的指出编码方式,如下是各编码方式:
	1、'ascii' : 7位的ASCII数据,编码速度很快,将会直接剔除高位。需要注意的是将string转换为Buffer的时候会将空字符("\0"或者"\u0000")转换为"0x20",如果想将空字符转换为"0x00"需要使用utf8编码。
	2、'utf8' : 多字节Unicode字符,很多网站或者文档使用该编码。
	3、'utf16le' :2或4字节,小字节序Unicode编码。支持代理对。
	4、'ucs2' :'utf16le'的别名。
	5、'base64' : base64编码。
	6、'binary' : 该方式node官方不建议使用,将来可能会删除。
	7、'hex' :将每个字节编码为两个十六进制字符。
	
创建Buffer的方式:
	1、new Buffer(size) : 创建一个size个字节的Buffer。
	2、new Buffer(array) : 使用一个字节数组创佳Buffer。
	3、new Buffer(str, [encoding]) :使用指定的字符串和编码创建一个Buffer,编码可选,默认utf8。


未完待续……

请参考官方文档http://nodejs.org/api/buffer.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值