Baseline Widely available
charCodeAt()
ã¡ã½ããã¯ãæå®ãããä½ç½®ã«ãã UTF-16 ã³ã¼ãåä½ã表ã 0
ãã 65535
ã¾ã§ã®æ´æ°ãè¿ãã¾ãã
charCodeAt()
ã¯å¸¸ã« UTF-16 ã³ã¼ãåä½ã®ä¸¦ã³ã¨ãã¦æååãã¤ã³ããã¯ã¹ããã®ã§ãå¤ç«ãµãã²ã¼ããè¿ãããããã¾ãããã³ã¼ããã¤ã³ãå¤å
¨ä½ãåå¾ãããå ´åã¯ã codePointAt()
ã使ç¨ãã¦ãã ããã
const sentence = "The quick brown fox jumps over the lazy dog.";
const index = 4;
console.log(
`Character code ${sentence.charCodeAt(index)} is equal to ${sentence.charAt(
index,
)}`,
);
// Expected output: "Character code 113 is equal to q"
æ§æ 弿°
index
è¿ãæåã® 0 åºç¹ã®ã¤ã³ããã¯ã¹ã§ããæ´æ°ã«å¤æãããundefined
㯠0 ã«å¤æããã¾ãã
0
ãã 65535
ã¾ã§ã®æ´æ°ãè¿ãã¾ãããã㯠index
ã§æå®ãããä½ç½®ã® UTF-16 ã³ã¼ãåä½ã®å¤ã表ãã¾ããindex
ã 0
ï½ str.length - 1
ã®ç¯å²å¤ã§ãã£ãå ´åãcharCodeAt()
㯠NaN
ãè¿ãã¾ãã
æååã®ä¸ã®æåã¯ãå·¦ããå³ã«åãã¦ã¤ã³ããã¯ã¹ä»ãããã¦ãã¾ããæåã®æåã®æ·»å㯠0
ã§ãããæå¾ã®æåã®æ·»å㯠str
ã¨ããååã®æååã§ããã° str.length - 1
ã§ãã
Unicode ã®ã³ã¼ããã¤ã³ã㯠0
ãã 1114111
(0x10FFFF
) ã¾ã§ã®ç¯å²ã§ããcharCodeAt()
ã¯å¸¸ã« 65536
ããå°ããå¤ãè¿ãã¾ãããããã¯ä¸ä½ã®ã³ã¼ããã¤ã³ã㯠16 ãããã®ãµãã²ã¼ãæ¬ä¼¼æåã®ãã¢ã«ãã£ã¦è¡¨ããã¦ããããã§ãããããã£ã¦ã65535
ãã大ããå¤ãæã¤å®å
¨ãªæåãåå¾ããã«ã¯ãcharCodeAt(i)
ã ãã§ãªã charCodeAt(i + 1)
ãåå¾ãããï¼2 ã¤ã®æåãæã¤æååãæä½ããå ´åã¨åãã§ãï¼ãã¾ã㯠codePointAt(i)
ã使ç¨ããå¿
è¦ãããã¾ããUnicode ã«é¢ããæ
å ±ã¯UTF-16 æåãUnicode ã³ã¼ããã¤ã³ããæ¸è¨ç´ ã¯ã©ã¹ã¿ã¼ãåç
§ãã¦ãã ããã
以ä¸ã®ä¾ã§ã¯ã Unicode æåã® A ã§ãã 65
ãè¿ãã¾ãã
"ABC".charCodeAt(0); // returns 65
charCodeAt()
ã¯å¦¥å½ãª Unicode æåã§ã¯ãªããå¤ç«ãµãã²ã¼ããè¿ãå¯è½æ§ãããã¾ãã
const str = "ð ®·ð ®¾";
console.log(str.charAt(0)); // 55362ãã¾ã㯠d842ãããã¯å¦¥å½ãª Unicode æåã§ã¯ãªã
console.log(str.charAt(1)); // 57271ãã¾ã㯠dfb7ãããã¯å¦¥å½ãª Unicode æåã§ã¯ãªã
æå®ãããä½ç½®ã®å®å
¨ãª Unicode ã³ã¼ããã¤ã³ããåå¾ããã«ã¯ãString.prototype.codePointAt()
ã使ç¨ãã¦ãã ããã
const str = "ð ®·ð ®¾";
console.log(str.codePointAt(0)); // 134071
ã¡ã¢: charCodeAt()
ã使ç¨ã㦠codePointAt()
ãåå®è£
ãããã¨ã¯é¿ãã¦ãã ãããå¤ç«ãµãã²ã¼ãã®æ¤åºã¨ãã®ãã¢ãªã³ã°ã¯è¤éã§ãæååã®å
é¨è¡¨ç¾ãç´æ¥ä½¿ç¨ããçµã¿è¾¼ã¿ API ã®æ¹ãããã©ã¼ãã³ã¹ãé«ãããããã¾ãããå¿
è¦ã§ããã°ãcodePointAt()
ã®ããªãã£ã«ãã¤ã³ã¹ãã¼ã«ãã¦ãã ããã
以ä¸ã¯ Unicode FAQ ããå¼ç¨ãããUTF-16 ã³ã¼ãã¦ãããã®ãã¢ã Unicode ã³ã¼ããã¤ã³ãã«å¤æããå¯è½ãªã¢ã«ã´ãªãºã ã§ãã
// constants
const LEAD_OFFSET = 0xd800 - (0x10000 >> 10);
const SURROGATE_OFFSET = 0x10000 - (0xd800 << 10) - 0xdc00;
function utf16ToUnicode(lead, trail) {
return (lead << 10) + trail + SURROGATE_OFFSET;
}
function unicodeToUTF16(codePoint) {
const lead = LEAD_OFFSET + (codePoint >> 10);
const trail = 0xdc00 + (codePoint & 0x3ff);
return [lead, trail];
}
const str = "ð ®·";
console.log(utf16ToUnicode(str.charCodeAt(0), str.charCodeAt(1))); // 134071
console.log(str.codePointAt(0)); // 134071
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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