# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg
[travis-url]: https://travis-ci.org/feross/safe-buffer
[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg
[npm-url]: https://npmjs.org/package/safe-buffer
[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg
[downloads-url]: https://npmjs.org/package/safe-buffer
[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
[standard-url]: https://standardjs.com
#### Safer Node.js Buffer API
**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`,
`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.**
**Uses the built-in implementation when available.**
## install
```
npm install safe-buffer
```
## usage
The goal of this package is to provide a safe replacement for the node.js `Buffer`.
It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to
the top of your node.js modules:
```js
var Buffer = require('safe-buffer').Buffer
// Existing buffer code will continue to work without issues:
new Buffer('hey', 'utf8')
new Buffer([1, 2, 3], 'utf8')
new Buffer(obj)
new Buffer(16) // create an uninitialized buffer (potentially unsafe)
// But you can use these new explicit APIs to make clear what you want:
Buffer.from('hey', 'utf8') // convert from many types to a Buffer
Buffer.alloc(16) // create a zero-filled buffer (safe)
Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe)
```
## api
### Class Method: Buffer.from(array)
<!-- YAML
added: v3.0.0
-->
* `array` {Array}
Allocates a new `Buffer` using an `array` of octets.
```js
const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]);
// creates a new Buffer containing ASCII bytes
// ['b','u','f','f','e','r']
```
A `TypeError` will be thrown if `array` is not an `Array`.
### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]])
<!-- YAML
added: v5.10.0
-->
* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or
a `new ArrayBuffer()`
* `byteOffset` {Number} Default: `0`
* `length` {Number} Default: `arrayBuffer.length - byteOffset`
When passed a reference to the `.buffer` property of a `TypedArray` instance,
the newly created `Buffer` will share the same allocated memory as the
TypedArray.
```js
const arr = new Uint16Array(2);
arr[0] = 5000;
arr[1] = 4000;
const buf = Buffer.from(arr.buffer); // shares the memory with arr;
console.log(buf);
// Prints: <Buffer 88 13 a0 0f>
// changing the TypedArray changes the Buffer also
arr[1] = 6000;
console.log(buf);
// Prints: <Buffer 88 13 70 17>
```
The optional `byteOffset` and `length` arguments specify a memory range within
the `arrayBuffer` that will be shared by the `Buffer`.
```js
const ab = new ArrayBuffer(10);
const buf = Buffer.from(ab, 0, 2);
console.log(buf.length);
// Prints: 2
```
A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`.
### Class Method: Buffer.from(buffer)
<!-- YAML
added: v3.0.0
-->
* `buffer` {Buffer}
Copies the passed `buffer` data onto a new `Buffer` instance.
```js
const buf1 = Buffer.from('buffer');
const buf2 = Buffer.from(buf1);
buf1[0] = 0x61;
console.log(buf1.toString());
// 'auffer'
console.log(buf2.toString());
// 'buffer' (copy is not changed)
```
A `TypeError` will be thrown if `buffer` is not a `Buffer`.
### Class Method: Buffer.from(str[, encoding])
<!-- YAML
added: v5.10.0
-->
* `str` {String} String to encode.
* `encoding` {String} Encoding to use, Default: `'utf8'`
Creates a new `Buffer` containing the given JavaScript string `str`. If
provided, the `encoding` parameter identifies the character encoding.
If not provided, `encoding` defaults to `'utf8'`.
```js
const buf1 = Buffer.from('this is a tést');
console.log(buf1.toString());
// prints: this is a tést
console.log(buf1.toString('ascii'));
// prints: this is a tC)st
const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
console.log(buf2.toString());
// prints: this is a tést
```
A `TypeError` will be thrown if `str` is not a string.
### Class Method: Buffer.alloc(size[, fill[, encoding]])
<!-- YAML
added: v5.10.0
-->
* `size` {Number}
* `fill` {Value} Default: `undefined`
* `encoding` {String} Default: `utf8`
Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the
`Buffer` will be *zero-filled*.
```js
const buf = Buffer.alloc(5);
console.log(buf);
// <Buffer 00 00 00 00 00>
```
The `size` must be less than or equal to the value of
`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
be created if a `size` less than or equal to 0 is specified.
If `fill` is specified, the allocated `Buffer` will be initialized by calling
`buf.fill(fill)`. See [`buf.fill()`][] for more information.
```js
const buf = Buffer.alloc(5, 'a');
console.log(buf);
// <Buffer 61 61 61 61 61>
```
If both `fill` and `encoding` are specified, the allocated `Buffer` will be
initialized by calling `buf.fill(fill, encoding)`. For example:
```js
const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
console.log(buf);
// <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
```
Calling `Buffer.alloc(size)` can be significantly slower than the alternative
`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance
contents will *never contain sensitive data*.
A `TypeError` will be thrown if `size` is not a number.
### Class Method: Buffer.allocUnsafe(size)
<!-- YAML
added: v5.10.0
-->
* `size` {Number}
Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must
be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit
architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is
thrown. A zero-length Buffer will be created if a `size` less than or equal to
0 is specified.
The underlying memory for `Buffer` instances created in this way is *not
initialized*. The contents of the newly created `Buffer` are unknown and
*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such
`Buffer` instances to zeroes.
```js
const buf = Buffer.allocUnsafe(5);
console.log(buf);
// <Buffer 78 e0 82 02 01>
// (octets will be different, every time)
buf.fill(0);
console.log(buf);
// <Buffer 00 00 00 00 00>
```
A `TypeError` will be thrown if `size` is not a number.
Note that the `Buffer` module pre-allocates an internal `Buffer` instance of
size `Buffer.poolSize` that is used as a pool for the fast allocation of new
`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated
`new Buffer(size)` constructor) only when `size` is less than or equal to
`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default
value of `Buffer.poolSize` is `8192` but can be modified.
Use of this pre-allocated internal memory pool is a key difference between
calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer
pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal
Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The
difference is subtle but can be important when an application requires the
additional performance that `Buffer.allocUnsafe(size)` provides.
### Class Method: Buffer.allocUnsafeSlow(size)
<!-- YAML
added: v5.10.0
-->
* `size` {Number}
Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The
`size` must be less than or equal to the value of
`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
be created if a `size` l
没有合适的资源?快使用搜索试试~ 我知道了~
vue3+uni-id+uni-admin的多用户博客系统.zip
共1132个文件
js:425个
json:166个
vue:166个
需积分: 0 1 下载量 49 浏览量
2024-01-03
01:55:01
上传
评论 1
收藏 2.62MB ZIP 举报
温馨提示
Vue3,springboot,element-ui使用技巧,实战应用开发小系统参考资料,源码参考。 详细介绍了一些Qt框架的各种功能和模块,以及如何使用Qt进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够帮助你快速上手Qt并掌握其高级特性。
资源推荐
资源详情
资源评论
收起资源包目录
vue3+uni-id+uni-admin的多用户博客系统.zip (1132个子文件)
range.bnf 619B
semver.cmd 260B
CODEOWNERS 11B
iconfont.css 79KB
index-2f2c64e0.css 59KB
u-icon-7ebe2527.css 47KB
uni.6327bc53.css 26KB
uni-icons-0d3599f2.css 9KB
uniicons.css 8KB
index-4a97c0e2.css 6KB
edit-ff7d4b0f.css 5KB
userinfo-35c4bedd.css 5KB
iconfont.css 4KB
iconfont.css 4KB
iconfont.css 4KB
uni-list-b8085e89.css 4KB
opendb-feedback-0c248151.css 3KB
uni-fab-cbd5ba0e.css 3KB
cropImage-ef9b552e.css 3KB
index.css 3KB
self-11c0fd44.css 2KB
login-withoutpwd-be7d8804.css 2KB
realname-verify-1109695b.css 2KB
detail-a53f7601.css 2KB
set-pwd-48b10b24.css 2KB
register-b87ba729.css 2KB
register-admin-35aa8524.css 2KB
register-by-email-18d76c01.css 2KB
uni-easyinput-28c7585e.css 2KB
uni-load-more-45eaeab2.css 2KB
comment-frame-18fe1a70.css 2KB
login-smscode-8e780045.css 2KB
bind-mobile-b269d0bb.css 2KB
uni-forms-item-3ba8e15f.css 2KB
retrieve-bad3e0eb.css 2KB
retrieve-by-email-ec76efa9.css 2KB
login-withpwd-c340a113.css 2KB
change_pwd-7af11db1.css 2KB
uni-popup-dialog-d194f6f8.css 1KB
uni-popup-captcha-e8a89b0e.css 879B
uni-captcha-ad333770.css 841B
uni-id-pages-fab-login-0fbafef7.css 830B
deactivate-e7359062.css 825B
uni-id-pages-agreements-df9943ce.css 758B
uni-id-pages-sms-form-f3a905f0.css 584B
uni-id-pages-email-form-04bad1f7.css 584B
edit-7a542417.css 548B
opendb-feedback-3d9ee4f4.css 548B
uni-popup-808c05ff.css 484B
detail-cb4d37d9.css 305B
replay-c255257e.css 206B
uni-match-media-c4ae6094.css 41B
uni-forms-e3b0c442.css 0B
index.html 845B
index.html 672B
panda-b26c93de.jpg 41KB
panda.jpg 41KB
panda.jpg 41KB
panda.jpg 41KB
pic2.jpg 33KB
pic2.jpg 33KB
pic2.jpg 33KB
user.jpg 26KB
user.jpg 26KB
user.jpg 26KB
user-fill.jpg 4KB
user-fill.jpg 4KB
user-fill.jpg 4KB
user-default.jpg 2KB
user-default.jpg 2KB
user-default.jpg 2KB
JQL查询.jql 994B
index-071c8e17.js 407KB
vendor.js 321KB
index.js 156KB
index.js 156KB
index.js 50KB
semver.js 40KB
async-validator.js 33KB
weCropper.js 30KB
icons.js 26KB
icons.js 26KB
limeClipper.js 24KB
index.obj.js 21KB
MpHtmlParser.js 20KB
pages-index-index.46a4beab.js 20KB
MpHtmlParser.js 18KB
index.js 18KB
uni-icons.c3f4a5ee.js 17KB
opendb-feedback.c9f9ac16.js 17KB
uni_modules-uni-id-pages-pages-userinfo-cropImage-cropImage.10051156.js 15KB
unicloud-db.js 14KB
pages-detail-detail.58f76f26.js 13KB
u-trees.js 13KB
uni-data-checkbox.js 13KB
validate.js 12KB
uni-easyinput.js 12KB
md5.js 12KB
validate.js 12KB
uni-forms.4269e4f0.js 11KB
共 1132 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
白话Learning
- 粉丝: 3275
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功