El método stringDecoder.end() se usa para devolver toda la entrada restante almacenada en el búfer interno como una string. Este método garantiza que los caracteres UTF-8 y UTF-16 incompletos se reemplacen con caracteres de sustitución apropiados para la codificación de caracteres.
Cuando se proporciona el argumento de búfer opcional, se llama una vez al método stringDecoder.write() con los datos antes de devolver la entrada de búfer restante.
Sintaxis:
stringDecoder.end( [buffer] )
Parámetros: esta función acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:
- buffer: Es un Buffer, TypedArray o DataView que contiene los bytes que tienen que ser decodificados. Es un parámetro opcional.
Valor devuelto: Devuelve la entrada restante almacenada en un búfer como una string.
Los siguientes programas ilustran el método stringDecoder.end() en Node.js:
Ejemplo 1:
Javascript
// Import the string_decoder module // and get the StringDecoder class // using object destructuring const { StringDecoder } = require("string_decoder"); const decoder = new StringDecoder("utf-8"); // Using the end() method const text_one = Buffer.from("GeeksforGeeks", "utf-8"); let decoded_text = decoder.end(text_one); console.log("Decoded Text:", decoded_text); // The Euro Symbol is denoted using // the bytes [0xE2, 0x82, 0xAC] console.log("Decoding the Euro Symbol:"); // Decoding the euro symbol // Using the write() method to // write the first two parts console.log(decoder.write(Buffer.from([0xE2]))); console.log(decoder.write(Buffer.from([0x82]))); // Finishing the symbol using the end() method // with that gives an additional call to write() // using the last part of the buffer console.log(decoder.end(Buffer.from([0xAC])));
Producción:
Decoded Text: GeeksforGeeks Decoding the Euro Symbol: €
Ejemplo 2:
Javascript
// Import the string_decoder module // and get the StringDecoder class // using object destructuring const { StringDecoder } = require("string_decoder"); const decoder = new StringDecoder("utf-8"); // The Cent Symbol is denoted using // Buffer.from([0xc2, 0xa2]) // Decoding the complete cent symbol from buffer let cent_symbol = Buffer.from([0xc2, 0xa2]); let cent_symbol_out = decoder.end(cent_symbol); console.log("Complete Cent Symbol:", cent_symbol_out); // Decoding incomplete cent symbol using // Buffer.write() method cent_symbol = Buffer.from([0xc2]); cent_symbol_out = decoder.write(cent_symbol); console.log("Cent Symbol using write():", cent_symbol_out); // Decoding incomplete cent symbol // using Buffer.end() method cent_symbol = Buffer.from([0xc2]); cent_symbol_out = decoder.end(cent_symbol); console.log("Cent Symbol using end():", cent_symbol_out);
Producción:
Complete Cent Symbol: ¢ Cent Symbol using write(): Cent Symbol using end(): ??
Referencia: https://nodejs.org/api/string_decoder.html#string_decoder_stringdecoder_end_buffer
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA