Ich habe eine kleine Anwendung, die Tweets liest und versucht, Schlüsselwörtern zu entsprechen, und ich bemerkte dieses seltsame Verhalten mit einer bestimmten Zeichenfolge:
%Vor%Nun ist der Wert von Kleinbuchstaben:
Es sieht so aus, als ob die Zeichenfolge in einem seltsamen Format ist. Ich habe einige der Buchstaben überprüft und folgendes gefunden:
%Vor%Selbst wenn es wie ein normales N aussieht, entspricht der ihm zugeordnete Unicode
0925 थ DEVANAGARI Brief THA
gemäß dem Unicode-Diagramm
Ich bin also ein bisschen verwirrt darüber, wie das passieren kann und ob es überhaupt etwas gibt, das in den vermeintlich richtigen Buchstaben "umgewandelt" werden soll.
Sie können eine separate Zeichenfläche mit jedem lateinischen Buchstaben, Groß- und Kleinbuchstaben erstellen, um sie zu vergleichen. Jedes Mal, wenn Sie auf ein Zeichen stoßen, das nicht im Latin-1-Bereich liegt, erstellen Sie eine neue Zeichenfläche dafür und vergleichen Sie es mit jedem lateinischen Alphabet, indem Sie ein Bilddifferenz Algorithmus. Ersetzen Sie das nicht-lateinische Zeichen durch die beste Übereinstimmung.
Zum Beispiel:
%Vor%Dies übersetzt Ihre Testzeichenfolge auf "nike dunk high sb 'hässlicher Sweater" ist jetzt verfügbar ".
Die Alternative besteht darin, eine riesige Datenstruktur zu erstellen, die alle ähnlichen Zeichen ihren Latin-1-Entsprechungen zuordnet, wie die Bibliothek in @ willys Antwort tut. Dies ist extrem schwer für "Browser JavaScript" und wahrscheinlich nicht geeignet für das Senden an den Client, wie Sie sehen können, indem Sie auf die Quelle für das Projekt schauen.
Tags und Links javascript unicode