/** *ChecksifagivenbuffercontainsonlycorrectUTF-8. *Portedfromhttps://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by *MarkusKuhn. * *@param{Buffer}bufThebuffertocheck *@return{Boolean}`true`if`buf`containsonlycorrectUTF-8,else`false` *@public
*/ function _isValidUTF8(buf) { const len = buf.length;
let i = 0;
while (i < len) { if ((buf[i] & 0x80) === 0) { // 0xxxxxxx
i++;
} elseif ((buf[i] & 0xe0) === 0xc0) { // 110xxxxx 10xxxxxx if (
i + 1 === len ||
(buf[i + 1] & 0xc0) !== 0x80 ||
(buf[i] & 0xfe) === 0xc0 // Overlong
) { returnfalse;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.