Nodejs lit les fichiers tronqués

王林
Libérer: 2023-05-27 21:37:37
original
860 Les gens l'ont consulté

Lors de la lecture de fichiers dans Node.js, il est facile de rencontrer des caractères tronqués. Une raison courante est que le fichier n’est pas encodé au bon format.

Dans les systèmes d'exploitation Windows, le format d'encodage de texte par défaut est GBK, mais dans la plupart des systèmes d'exploitation Unix et Linux, le format d'encodage UTF-8 est utilisé. Par conséquent, si un fichier codé en GBK est ouvert dans un système d'exploitation Unix ou Linux, il produira très probablement des caractères tronqués.

Il existe de nombreuses façons de gérer les caractères tronqués lors de la lecture du fichier Node.js. Les méthodes courantes suivantes sont fournies ci-dessous :

  1. Méthode readFile()

Dans Node.js, utilisez la méthode readFile() du module fs pour lire les fichiers. Cette méthode prend deux paramètres : le nom du fichier et la fonction de rappel. La fonction de rappel contient deux paramètres : l'objet d'erreur et les données lues.

Lors de la lecture d'un fichier, vous pouvez spécifier le format d'encodage du fichier via le paramètre options. Par exemple, pour spécifier le codage en UTF-8, définissez le paramètre options sur {encoding: 'utf-8'}.

Ce qui suit est un exemple de lecture d'un fichier à l'aide de la méthode readFile() :

const fs = require('fs');

fs.readFile('example.txt', { encoding: 'utf-8' }, (err, data) => {
    if (err) throw err;
    console.log(data);
});
Copier après la connexion
  1. Méthode createReadStream()

En plus de la méthode readFile(), vous pouvez également utiliser la méthode createReadStream() du fs module pour lire un fichier. Cette méthode crée un flux lisible capable de lire le contenu du fichier étape par étape.

Voici un exemple de lecture d'un fichier à l'aide de la méthode createReadStream() :

const fs = require('fs');

const readStream = fs.createReadStream('example.txt', { encoding: 'utf-8' });

readStream.on('data', (data) => {
    console.log(data);
});

readStream.on('error', (err) => {
    throw err;
});
Copier après la connexion
  1. module iconv-lite

le module iconv-lite est un module tiers permettant de gérer l'encodage de texte dans Node.js. Il prend en charge plusieurs formats d'encodage, notamment GBK, UTF-8, ISO-8859-1, etc.

Ce qui suit est un exemple d'utilisation du module iconv-lite pour lire des fichiers :

const fs = require('fs');
const iconv = require('iconv-lite');

const buffer = fs.readFileSync('example.txt');
const content = iconv.decode(buffer, 'gbk');

console.log(content);
Copier après la connexion

La méthode ci-dessus peut vous aider à gérer les caractères tronqués lors de la lecture de fichiers dans Node.js. Choisissez simplement la méthode qui vous convient en fonction de vos besoins spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!