Open In App

Node.js TextDecoder

Last Updated : 09 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The TextDecoder is a NodeJS interface that can for a specific text encoding, such as UTF-8, ISO-8859-2, KOI8-R, GBK, etc. decode it.  It takes a stream of bytes as input and gives as output a stream of code points.

Import:

let var = new TextDecoder(encoding);

Parameter:

  •  encoding: It is a string data type that defines the encoding that TextDecoder object will use. By Default UTF-8 is used.

Constructor:

  • TextDecoder( ): This constructor returns a new object which can generate a code point stream with the decoding format specified in the parameter.

Properties:

The TextDecoder does not inherit any property. The defined properties are:

  • TextDecoder.encoding: The name of the encoding format to be used to decode.
  • TextDecoder.fatal: It is a boolean value indicating whether the error code is fatal.
  • TextDecoder.ignoreBOM: It is a boolean value indicating whether BOM(byte order mark) is ignored.

Functions:

  • decode(input): A built-in function decode is used to decode the ‘input’ using the encoding defined earlier during the construction of the TextDecoder object.

Return Value: A string representing the decoded value for the given encoding format.

Example 1: Let us decode UTF-8 type encoded codepoints. As we know by default ‘UTF-8’ will be used hence we need not define encoding in the parameters of the decoder constructor. Create a file index.js and write the below code:

Javascript




let decoder = new TextDecoder();
let uint8Array = new Uint8Array([72, 101, 108, 108, 111]);
console.log(decoder.decode(uint8Array));


Steps to run the application: Write the below command in the terminal to start the server:

node index.js

Output:

Hello

Example 2: To Decode non-UTF-8 encoded values, like A Russian Slogan “Привет, мир!” written in English as “Hello, World”. We can use the ‘windows-1251’ encoding type to decode its code points. Create a file index.js and add the following code: 

Javascript




let decoder = new TextDecoder('windows-1251');
let data = new Uint8Array([207, 240, 232, 226, 229,
    242, 44, 32, 236, 232, 240, 33]);
console.log(decoder.decode(data));


Steps to run the application: Write the below command in the terminal to start the server:

node index.js

Output:

Привет, мир!

Browser Compatibility:

BROWSER VERSION SUPPORTED
Chrome 38
Edge 79
Firefox 19
Internet Explorer NOT SUPPORTED
Opera 25
Safari 10.1
Android WebView 38
Samsung Internet 3.0
Deno 1.0
NodeJS 11.0.0
Safari iOS 10.3

Reference: https://nodejs.org/api/util.html#new-textdecoderencoding-options



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads