Baseline Widely available
String
ê°ì charCodeAt()
ë©ìëë 주ì´ì§ ì¸ë±ì¤ì UTF-16 ì½ë ë¨ì를 íííë 0
ê³¼ 65535
ì¬ì´ì ì ì를 ë°íí©ëë¤.
charCodeAt()
ì íì 문ìì´ì UTF-16 ì½ë ë¨ìì ìíì¤ë¡ ìì¸íë¯ë¡ ë¡ ìë¡ê²ì´í¸(lone surrogates)를 ë°íí ì ììµëë¤. 주ì´ì§ ì¸ë±ì¤ìì ì ì²´ ì ëì½ë ì½ë í¬ì¸í¸ë¥¼ ê°ì ¸ì¤ë ¤ë©´ String.prototype.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ì¼ë¡ ë³íë©ëë¤.
ëª
ìë index
ì ìë 문ìì UTF-16 ì½ë ë¨ì ê°ë¥¼ íííë 0
ë¶í° 65535
ì¬ì´ì ì ìì
ëë¤. ë§ì½ index
ê° 0
ë¶í° str.length - 1
ì¬ì´ì ë²ì를 ë²ì´ëë¤ë©´ charCodeAt()
ì NaN
ì ë°íí©ëë¤.
문ìì´ì 문ìë ì¼ìª½ìì ì¤ë¥¸ìª½ì¼ë¡ ìì¸ë©ëë¤. 첫 ë²ì§¸ 문ìì ì¸ë±ì¤ë 0
ì´ê³ str
ì´ë¼ ë¶ë¦¬ë 문ìì´ì ë§ì§ë§ 문ìì´ì ì¸ë±ì¤ë str.length - 1
ì
ëë¤.
ì ëì½ë ì½ë í¬ì¸í¸ ë²ìë 0
ìì 1114111
(0x10FFFF
)ê¹ì§ì
ëë¤. ë ëì ì½ë í¬ì¸í¸ë 16ë¹í¸ ìì¬ ë¬¸ìì ìë¡ê²ì´í¸ë¡ ííë기 ë문ì charCodeAt()
ì íì 65536
ë³´ë¤ ìì ê°ì ë°íí©ëë¤. ë°ë¼ì 65535
ë³´ë¤ í° ê°ì ê°ì§ ì ì²´ 문ì를 ì»ì¼ë ¤ë©´ charCodeAt(i)
ë¿ë§ ìëë¼ charCodeAt(i + 1)
ë ê²ìíê±°ë(ë 문ìë¡ ë 문ìì´ì ì¡°ìíë ê²ì²ë¼) codePointAt(i)
를 ëì ì¬ì©í´ì¼ í©ëë¤. ì ëì½ëì ëí´ ì 보를 ë ìê³ ì¶ì¼ìë©´ UTF-16 문ì, ì ëì½ë ì½ë í¬ì¸í¸ ê·¸ë¦¬ê³ ê·¸ëí í´ë¬ì¤í°ë¥¼ ì°¸ê³ íì기 ë°ëëë¤.
ë¤ì ìì ë ì ëì½ë ê° Aì í´ë¹íë 65
를 ë°íí©ëë¤.
"ABC".charCodeAt(0); // 65 ë°í
charCodeAt()
ì ì í¨í ì ëì½ë 문ìê° ìë ë¡ ìë¡ê²ì´í¸(lone surrogates)를 ë°íí ì ììµëë¤.
const str = "ð ®·ð ®¾";
console.log(str.charCodeAt(0)); // ì í¨í ì ëì½ë 문ìê° ìë 55362, í¹ì d842
console.log(str.charCodeAt(1)); // ì í¨í ì ëì½ë 문ìê° ìë 57271, í¹ì dfb7
주ì´ì§ ì¸ë±ì¤ì ì¨ì í ì ëì½ë ì½ë í¬ì¸í¸ë¥¼ ì»ê¸° ìí´ìë String.prototype.codePointAt()
를 ì¬ì©íì¸ì.
const str = "ð ®·ð ®¾";
console.log(str.codePointAt(0)); // 134071
ì°¸ê³ :
charCodeAt()
ì ì¬ì©íì¬codePointAt()
ì ë¤ì 구ííì§ ë§ì¸ì. UTF-16 ìë¡ê²ì´í¸ìì ì ëì½ë ì½ë í¬ì¸í¸ë¡ì ë³íì ë³µì¡íë©°codePointAt()
ì 문ìì´ì ë´ë¶ ííì ì§ì ì¬ì©íë¯ë¡ ì±ë¥ì´ ë ì°ìí ì ììµëë¤. íìí ê²½ì°codePointAt()
ì ëí í´ë¦¬íì ì¤ì¹íì기 ë°ëëë¤.
ìëë ì ëì½ë FAQìì ë°ì·í UTF-16 ì½ë ë¨ì ìì ì ëì½ë ì½ë í¬ì¸í¸ë¡ ë³ííë ê°ë¥í ìê³ ë¦¬ì¦ì ëë¤.
// 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