nl_tokens: Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array EXCLUDING the null terminator byte .
pl_tokens: function lengthBytesUTF32 ( str ) { var len = 0 ; for ( var i = 0 ; i < str . <mask> ; ++ i ) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. // See http://unicode.org/faq/utf_bom.html#utf16-3 var codeUnit = str . charCodeAt ( i ) ; if ( codeUnit >= 0xD800 && codeUnit <= 0xDFFF ) ++ i ; // possibly a lead surrogate, so skip over the tail surrogate. len += 4 ; } return len ; }