The encodeInto() method in TextEncoder API is used to take stream of points and emits the stream of UTF-8 bytes. All instances of TextEncoder only support UTF-8 encoding. The TextEncoder.encodeInto() takes a string to encode and an array to hold the encoded result and returns an object back.
Syntax:
encoder.encodeInto(src, dest)
Parameter:
- src: It is source string that containing the text to encode.
- dest: It is Uint8Array object instance to store the encoded result.
Return Value: It returns an object containing two properties read and written
- read: It is an numerical value that specifies the number of string character converted to UTF-8. This may be less then src.length(length of source string) if uint8Array did not have that enough space.
- dest: It is also a numerical value that specifies the number of UTF-8 unicodes stored in destination Uint8Array object Array. It is always equals to read.
Example 1:
html
<!DOCTYPE html> < html lang="en"> < head > < title > TextEncoder Web API encodeInto() method </ title > </ head > < body > < p id = 'javascript' >I love javascript</ p > < script type="text/javascript"> const parg1 = document. querySelector('#javascript') // Instance of TextEncoder const encoder = new TextEncoder() // Instance of Uint8Array const u8Array = new Uint8Array(30) const result = encoder.encodeInto( parg1.innerText, u8Array) // encode() is just an another method // defined in TextEncoder class // It specifies the encoded result // of strings const encodedResult = encoder .encode(parg1.innerText) console.log(` Bytes read: ${result.read}, Bytes written: ${result.written}, Encoded Result: ${encodedResult} `) </ script > </ body > </ html > |
Output:
Example 2:
html
<!DOCTYPE html> < html lang="en"> < head > < title > TextEncoder Web API encodeInto() method </ title > </ head > < body > < p id = 'javascript' >I Love javascript</ p > < button id = 'btn' > Click me to view results </ button > < p id = 'result' ></ p > < script type="text/javascript"> const parg1 = document.querySelector('#javascript') const btn = document.querySelector('#btn') const result = document.querySelector('#result') // Instance of TextEncoder const encoder = new TextEncoder() // Instance of Uint8Array const u8Array = new Uint8Array(30) let resultObj = encoder.encodeInto( parg1.innerText, u8Array) const encodedResult = encoder.encode(parg1.innerText) btn.addEventListener('click', () => { result.innerHTML = ` < p >< strong >Bytes read:</ strong > ${resultObj.read}, </ p > < p >< strong >Bytes written:</ strong > ${resultObj.written}, </ p > < p >< strong >Encoded Result:</ strong > ${encodedResult}</ p > ` }) </ script > </ html > |
Output: Before Clicking the Button:
After Clicking the Button: