Comment puis-je lire un fichier encodé en utf-16 en nodejs?
Je dois lire un fichier encodé en UTF-16 à l'aide de nodejs (en morceaux, car il est très grand). Les données du fichier dans une mongodb, donc j'ai besoin de la convertir en utf-8. À partir d'une recherche sur google, il semble que ce est tout simplement pas pris en charge par Nœud, et je vais avoir recours à la conversion des données brutes à partir d'un tampon de moi-même. Mais je pense aussi qu'il devrait y avoir une meilleure façon et je ne suis pas à la trouver. Des suggestions?
Grâce.
- Il doit prend en charge ucs2, qui est assez proche de l'UTF-16.
Vous devez vous connecter pour publier un commentaire.
Nœud prend en charge UCS-2, le format UTF-16 sous-ensemble pris en charge par du JavaScript. Essayez d'utiliser que.
Voir ce pull request.
Remplacer la normale
utf8
vous auriez lors de la lecture d'un fichier texte avecutf16le
ouucs2
:ou:
Aussi, pour Google: que personne ne se supplémentaires � (point d'interrogation) les caractères figurant dans un fichier interprété, c'est probablement la cause de votre problème. Lire le fichier en tant que UTF16/UCS2 et les caractères supplémentaires disparaissent.
Buffer.prototype.toString()
prend également en charge les mêmes paramètres d'encodage. Si votre source est en big-endian, vous devez d'abord le swap d'octets à l'aide deBuffer.prototype.swap16()
depuis Node.js ne dispose pas actuellement d'un "utf16be d'encodage".