EDIT: Ooooops.
console.log (Buffer.byteLength ("𤁥", "utf8")); //--> 3
Je veux compter le nombre d’octets d’un caractère. C’est ce que j’ai
var charBytesLength = function (c){ var n = 0; c = c.charCodeAt (0); do{ c = c >>> 8; n++; }while (c); return n; };
Si le caractère est codé à l’aide de UTF8, pour les caractères de plus de 2 octets, la fonction renvoie toujours 2, car en Javascript un caractère est une valeur de 16 bits et charCodeAt()
ne renvoie que la valeur entre 0 et 65535.
Par exemple:
"𤂄".charCodeAt (0)
renvoie 65533 lorsque la valeur hexadécimale réelle est 0x24065 (147557 en décimal)
Savez-vous comment compter le nombre réel d’octets?
console.log (Buffer.byteLength ("𤁥", "utf8")); //--> 3