Baseline 2023
Newly available
toWellFormed()
㯠String
å¤ã®ã¡ã½ããã§ããã®æååã®ãã¹ã¦ã®å¤ç«ãµãã²ã¼ãã Unicode ç½®ææå U+FFFD ã«ç½®ãæããæååãè¿ãã¾ãã
ãªãã
è¿å¤ãã®æååã®ã³ãã¼ã§ãå¤ç«ãµãã²ã¼ãããã¹ã¦ Unicode ç½®ææå U+FFFD ã«ç½®ãæããæ°ããæååã§ãã ãã str
ãæ´å½¢å¼ ã§ããã°ããã¯ãæ°ããæååãè¿ããã¾ãï¼åºæ¬çã«ã¯ str
ã®ã³ãã¼ã§ãï¼ã
JavaScript ã®æåå㯠UTF-16 ã§ã¨ã³ã³ã¼ãããã¦ãã¾ããUTF-16 ã¨ã³ã³ã¼ãã£ã³ã°ã«ã¯ãµãã²ã¼ããã¢ã¨ããæ¦å¿µãããããã㯠UTF-16 æåãUnicode ã³ã¼ããã¤ã³ããæ¸è¨ç´ ã¯ã©ã¹ã¿ã¼ã§è©³ããç´¹ä»ããã¦ãã¾ãã
toWellFormed()
ã¯ãã®æååã®ã³ã¼ãåä½ãèµ°æ»ãããã¹ã¦ã®å¤ç«ãµãã²ã¼ããUnicode ç½®ææå U+FFFD &#fffd;
ã«ç½®ãæãã¾ããããã¯ãè¿ãæååãæ´å½¢å¼ã§ãããã¨ãä¿è¨¼ããencodeURI
ã®ãããªæ´å½¢å¼æååãæå¾
ãã颿°ã§ä½¿ç¨ãããã¨ãã§ãã¾ããã«ã¹ã¿ã å®è£
ã¨æ¯è¼ãã¦ãtoWellFormed()
ã¯ãã¨ã³ã¸ã³ãæååã®å
é¨è¡¨ç¾ã«ç´æ¥ã¢ã¯ã»ã¹ãããã¨ãã§ããã®ã§ãããå¹ççã§ãã
æ´å½¢å¼ã§ã¯ãªãæååã TextEncoder
ã®ãããªç¹å®ã®æèã§ä½¿ç¨ãããå ´åãèªåçã«åãç½®ææåã使ã£ã¦æ´å½¢ãããæååã«å¤æããã¾ããå¤ç«ãµãã²ã¼ããã¬ã³ããªã³ã°ãããã¨ãããããã¯ç½®ææåï¼çå符ãå
å´ã«ããè±å½¢ï¼ã¨ãã¦ãã¬ã³ããªã³ã°ããã¾ãã
const strings = [
// å¤ç«ä¸ä½ãµãã²ã¼ã
"ab\uD800",
"ab\uD800c",
// å¤ç«ä¸ä½ãµãã²ã¼ã
"\uDFFFab",
"c\uDFFFab",
// æ´å½¢å¼
"abc",
"ab\uD83D\uDE04c",
];
for (const str of strings) {
console.log(str.toWellFormed());
}
// Logs:
// "ab�"
// "ab�c"
// "�ab"
// "c�ab"
// "abc"
// "abðc"
encodeURI() ã®ã¨ã©ã¼ã鲿¢
encodeURI
ã¯æ¸¡ãããæååãæ´å½¢å¼ã§ãªãå ´åãã¨ã©ã¼ãçºçããã¾ãããã㯠toWellFormed()
ã«ãã£ã¦æååãæåã«æ´å½¢å¼æååã«å¤æãã¦ãããã¨ã§é²ããã¨ãã§ãã¾ãã
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"
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4