Heim > Web-Frontend > Front-End-Fragen und Antworten > So lösen Sie das Problem verstümmelter Zeichen in lokalem Text, der von Javascript gelesen wird

So lösen Sie das Problem verstümmelter Zeichen in lokalem Text, der von Javascript gelesen wird

PHPz
Freigeben: 2023-04-23 17:38:56
Original
2462 Leute haben es durchsucht

Mit der kontinuierlichen Weiterentwicklung der Internettechnologie ist die JavaScript-Sprache zu einer der wesentlichen Technologien in der Webentwicklung und der Entwicklung mobiler Anwendungen geworden. JavaScript kann verschiedene dynamische Effekte auf Webseiten erzielen und das Benutzererlebnis verbessern. Das Lesen lokaler TXT-Dateien ist eine der Anforderungen, die in der Entwicklung häufig anzutreffen sind. Beim Lesen lokaler TXT-Dateien tritt jedoch manchmal das Problem verstümmelter Zeichen auf. In diesem Artikel wird die Lösung für dieses Problem detailliert beschrieben.

1. Analyse der Ursachen für verstümmelte Codes

Es gibt viele Gründe für verstümmelte Codes, aber die meisten davon werden durch eine Nichtübereinstimmung der Codierungsformate verursacht.

In Textdateien werden Zeichen tatsächlich in binärer Form gespeichert. Wenn wir eine Textdatei öffnen, muss der Computer diese Binärdaten in für uns verständliche Zeichen umwandeln. Dies erfordert eine Codierungsmethode, um diesen Prozess abzuschließen. Beispielsweise sind auf Windows-Systemen die am häufigsten verwendeten Kodierungsmethoden GBK (vereinfachtes Chinesisch) und GB2312 (traditionelles Chinesisch), während in internationalen Umgebungen häufiger Unicode und UTF-8 verwendet werden.

Wenn das Codierungsformat beim Lesen einer lokalen TXT-Datei nicht mit dem Codierungsformat der Datei selbst übereinstimmt, können verstümmelte Zeichen auftreten.

2. Lösung

1. Bestätigen Sie das Kodierungsformat

Wenn Sie eine lokale TXT-Datei lesen, müssen Sie zuerst das Kodierungsformat der Datei bestätigen. Sie können die txt-Datei mit dem Notepad von Windows öffnen, zu „Datei“ > „Speichern“ gehen und im Dialogfeld „Speichern“ die Kodierungsmethode überprüfen.

Wenn die Datei im Unicode- oder UTF-8-Kodierungsformat vorliegt, kann der Textinhalt normal angezeigt werden, indem die Datei direkt mit Ajax in JavaScript gelesen wird.

Zum Beispiel:

$.ajax({
  url: "test.txt",
  success: function(data){
     console.log(data); // 此处将会输出文件中的文本内容
  }
});
Nach dem Login kopieren

Wenn die Datei im GBK- oder GB2312-Kodierungsformat vorliegt, müssen die gelesenen Daten kodiert und konvertiert werden. JavaScript bietet zwei Methodensätze zum Abschließen dieser Konvertierung: encodeURI()/decodeURI() und encodeURIComponent()/decodeURIComponent().

Unter diesen besteht die Form der encodeURI()-Kodierung darin, Leerzeichen in %20 zu kodieren, andere Zeichen werden jedoch nicht kodiert. Und encodeURIComponent() kodiert alle Sonderzeichen, einschließlich Leerzeichen. Daher verwenden wir im Allgemeinen die Methode encodeURIComponent().

Zum Beispiel:

$.ajax({
  url: "test.txt",
  success: function(data){
     var decodedData = decodeURIComponent(escape(data));
     console.log(decodedData); // 此处将会输出文件中的文本内容
  }
});
Nach dem Login kopieren

2. Legen Sie das Dateikodierungsformat fest

Wenn Sie die TXT-Datei, die verstümmelte Zeichen liest, selbst erstellt haben, können Sie beim Speichern das Kodierungsformat auf UTF-8 einstellen, damit keine Verstümmelungen auftreten Zeichen beim Lesen der Frage.

Wenn Sie beispielsweise in einem Windows-System eine Textdatei mit Notepad bearbeiten, können Sie Datei > Speichern unter verwenden, das Codierungsformat UTF-8 auswählen und die Datei speichern.

3. Verwenden Sie Bibliotheken von Drittanbietern

Zusätzlich zu den beiden oben genannten Methoden können Sie zur Lösung dieses Problems auch Bibliotheken von Drittanbietern verwenden. Verwenden Sie beispielsweise die Iconv-lite-Bibliothek, um beim Lesen von Dateien eine Kodierungskonvertierung durchzuführen.

Zum Beispiel:

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

var buf = fs.readFileSync('test.txt');
var str = iconv.decode(buf, 'GBK');
console.log(str);
Nach dem Login kopieren

Diese Methode ist für die Node.js-Umgebung geeignet.

Zusammenfassung

Das Problem beim Lesen verstümmelter lokaler TXT-Dateien ist eigentlich nicht kompliziert. Die Lösung besteht hauptsächlich darin, das Dateikodierungsformat zu bestätigen, das Dateikodierungsformat festzulegen oder eine Bibliothek eines Drittanbieters zu verwenden. Wir müssen mehr lernen und mehr üben, um unsere Fähigkeiten zur Problemlösung zu verbessern.

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Zeichen in lokalem Text, der von Javascript gelesen wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage