How to get the string length in bytes in nodejs?
Javascriptnode.jsJavascript Problem Overview
How to get the string length in bytes in nodejs? If I have a string, like this: äáöü
then str.length will return with 4. But how to get that, how many bytes form the string?
Thanks in advance
Javascript Solutions
Solution 1 - Javascript
Here is an example:
str = 'äáöü';
console.log(str + ": " + str.length + " characters, " +
Buffer.byteLength(str, 'utf8') + " bytes");
// äáöü: 4 characters, 8 bytes
Solution 2 - Javascript
function getBytes(string){
return Buffer.byteLength(string, 'utf8')
}
Solution 3 - Javascript
Alternatively, you can use TextEncoder
new TextEncoder().encode(str).length
Related question
Assume it's slower though
Solution 4 - Javascript
If you want to specific encoded, here is iconv
example
var iconv = require('iconv-lite');
var buf =iconv.encode('äáöü', 'utf8');
console.log(buf.length);
// output: 8