diff --git a/doc/api/buffer.markdown b/doc/api/buffer.markdown index 11c7097a89a..ba1c765a483 100644 --- a/doc/api/buffer.markdown +++ b/doc/api/buffer.markdown @@ -33,13 +33,12 @@ encoding method. Here are the different string encodings. * `'base64'` - Base64 string encoding. -* `'hex'` - Encode each byte as two hexadecimal characters. +* `'binary'` - A way of encoding raw binary data into strings by using only + the first 8 bits of each character. This encoding method is deprecated and + should be avoided in favor of `Buffer` objects where possible. This encoding + will be removed in future versions of Node. -If you need direct access to the bytes, then the best way is to use a -Buffer object directly, rather than any string encoding. In the past, -there were options for `'binary'`, `'raw'`, and others, but these all -involve unnecessary copying. Just use Buffers directly if you need -access to the actual bytes. +* `'hex'` - Encode each byte as two hexadecimal characters. ## Class: Buffer diff --git a/lib/buffer.js b/lib/buffer.js index 0d7532d6662..7a65fa13c79 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -22,15 +22,6 @@ var SlowBuffer = process.binding('buffer').SlowBuffer; var assert = require('assert'); -// Deprecate the 'binary' encoding. -// TODO: Remove it entirely in v0.9. -var binaryWarned = false; -function binaryWarn() { - if (binaryWarned) return; - binaryWarned = true; - console.error('The binary buffer encoding is deprecated.'); -} - exports.INSPECT_MAX_BYTES = 50; // Make SlowBuffer inherit from Buffer. @@ -81,7 +72,6 @@ SlowBuffer.prototype.toString = function(encoding, start, end) { return this.asciiSlice(start, end); case 'binary': - binaryWarn(); return this.binarySlice(start, end); case 'base64': @@ -168,7 +158,6 @@ SlowBuffer.prototype.write = function(string, offset, length, encoding) { return this.asciiWrite(string, offset, length); case 'binary': - binaryWarn(); return this.binaryWrite(string, offset, length); case 'base64': @@ -370,7 +359,6 @@ Buffer.prototype.write = function(string, offset, length, encoding) { break; case 'binary': - binaryWarn(); ret = this.parent.binaryWrite(string, this.offset + offset, length); break; @@ -427,7 +415,6 @@ Buffer.prototype.toString = function(encoding, start, end) { return this.parent.asciiSlice(start, end); case 'binary': - binaryWarn(); return this.parent.binarySlice(start, end); case 'base64': @@ -540,7 +527,6 @@ Buffer.prototype.utf8Slice = function(start, end) { }; Buffer.prototype.binarySlice = function(start, end) { - binaryWarn(); return this.toString('binary', start, end); }; @@ -553,7 +539,6 @@ Buffer.prototype.utf8Write = function(string, offset) { }; Buffer.prototype.binaryWrite = function(string, offset) { - binaryWarn(); return this.write(string, offset, 'binary'); }; diff --git a/src/node.cc b/src/node.cc index c5700c2cc4d..4a42a052c8e 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1111,18 +1111,16 @@ enum encoding ParseEncoding(Handle encoding_v, enum encoding _default) { } else if (strcasecmp(*encoding, "ucs-2") == 0) { return UCS2; } else if (strcasecmp(*encoding, "binary") == 0) { - fprintf(stderr, "The 'binary' buffer encoding is deprecated. " - "Use a Buffer object directly.\n"); return BINARY; } else if (strcasecmp(*encoding, "hex") == 0) { return HEX; } else if (strcasecmp(*encoding, "raw") == 0) { fprintf(stderr, "'raw' (array of integers) has been removed. " - "Use a Buffer object directly.\n"); + "Use 'binary'.\n"); return BINARY; } else if (strcasecmp(*encoding, "raws") == 0) { - fprintf(stderr, "'raws' (array of integers) has been removed. " - "Use a Buffer object directly.\n"); + fprintf(stderr, "'raws' encoding has been renamed to 'binary'. " + "Please update your code.\n"); return BINARY; } else { return _default; @@ -1156,8 +1154,8 @@ ssize_t DecodeBytes(v8::Handle val, enum encoding encoding) { HandleScope scope; if (val->IsArray()) { - fprintf(stderr, "'raw' (array of integers) has been removed. " - "Use a Buffer object directly.\n"); + fprintf(stderr, "'raw' encoding (array of integers) has been removed. " + "Use 'binary'.\n"); assert(0); return -1; } @@ -1193,8 +1191,8 @@ ssize_t DecodeWrite(char *buf, // http://groups.google.com/group/v8-users/browse_thread/thread/1f83b0ba1f0a611 if (val->IsArray()) { - fprintf(stderr, "'raw' (array of integers) has been removed. " - "Use a Buffer object directly.\n"); + fprintf(stderr, "'raw' encoding (array of integers) has been removed. " + "Use 'binary'.\n"); assert(0); return -1; }