pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/toWellFormed

>

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

String.prototype.toWellFormed()

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2023 browserübergreifend verfügbar.

Die toWellFormed() Methode von String-Werten gibt einen String zurück, bei dem alle einsamen Surrogate dieses Strings durch das Unicode-Ersatzzeichen U+FFFD ersetzt werden.

Syntax

js
toWellFormed()

Parameter

Keine.

Rückgabewert

Ein neuer String, der eine Kopie dieses Strings ist, bei dem alle einsamen Surrogate durch das Unicode-Ersatzzeichen U+FFFD ersetzt sind. Falls str wohlgeformt ist, wird dennoch ein neuer String zurückgegeben (im Wesentlichen eine Kopie von str).

Beschreibung

Strings in JavaScript sind UTF-16-codiert. Die UTF-16-Codierung hat das Konzept von Surrogatpaaren, das im Abschnitt UTF-16-Zeichen, Unicode-Codierungspunkte und Graphemes ausführlich beschrieben wird.

toWellFormed() durchläuft die Code-Einheiten dieses Strings und ersetzt alle einsamen Surrogate durch das Unicode-Ersatzzeichen U+FFFD . Dies stellt sicher, dass der zurückgegebene String wohlgeformt ist und in Funktionen verwendet werden kann, die wohlgeformte Strings erwarten, wie z.B. encodeURI. Im Vergleich zu einer benutzerdefinierten Implementierung ist toWellFormed() effizienter, da Engine direkten Zugriff auf die interne Darstellung von Strings haben.

Wenn fehlerhaft geformte Strings in bestimmten Kontexten verwendet werden, wie z.B. bei TextEncoder, werden sie automatisch mithilfe des gleichen Ersatzzeichens in wohlgeformte Strings konvertiert. Wenn einsame Surrogate gerendert werden, erscheinen sie auch als Ersatzzeichen (ein Rhombus mit einem Fragezeichen darin).

Beispiele

Verwendung von toWellFormed()

js
const strings = [
  // Lone leading surrogate
  "ab\uD800",
  "ab\uD800c",
  // Lone trailing surrogate
  "\uDFFFab",
  "c\uDFFFab",
  // Well-formed
  "abc",
  "ab\uD83D\uDE04c",
];

for (const str of strings) {
  console.log(str.toWellFormed());
}
// Logs:
// "ab�"
// "ab�c"
// "�ab"
// "c�ab"
// "abc"
// "ab😄c"

Fehlervermeidung in encodeURI()

encodeURI wirft einen Fehler, wenn der übergebene String nicht wohlgeformt ist. Dies kann vermieden werden, indem toWellFormed() verwendet wird, um den String zuerst in einen wohlgeformten String zu konvertieren.

js
const illFormed = "https://example.com/search?q=\uD800";

try {
  encodeURI(illFormed);
} catch (e) {
  console.log(e); // URIError: URI malformed
}

console.log(encodeURI(illFormed.toWellFormed())); // "https://example.com/search?q=%EF%BF%BD"

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-string.prototype.towellformed

Browser-Kompatibilität

Siehe auch

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy