πŸ˜€μ΄λͺ¨μ§€ μ½”λ“œν¬μΈνŠΈΒ·μ΄μŠ€μΌ€μ΄ν”„ λ³€ν™˜κΈ°

μ½”λ“œν¬μΈνŠΈΒ·μ—”ν‹°ν‹°Β·μ΄μŠ€μΌ€μ΄ν”„λ‘œ μ¦‰μ‹œ λ³€ν™˜

ν‘œν˜„ 방식결과
κΈ€μžμ½”λ“œν¬μΈνŠΈκ΅¬μ„±UTF-8 byte

μœ„ ν‘œν˜„μ„ λΆ™μ—¬λ„£μœΌλ©΄ μ›λž˜ κΈ€μžλ‘œ λ˜λŒλ¦½λ‹ˆλ‹€.

μ½”λ“œν¬μΈνŠΈΒ·HTML μ—”ν‹°ν‹°Β·JS μ΄μŠ€μΌ€μ΄ν”„Β·CSS μ΄μŠ€μΌ€μ΄ν”„Β·percent-encoding 은 λͺ¨λ‘ κ·œκ²©μ— μ •μ˜λœ 결정둠적 λ³€ν™˜μ΄λΌ 값이 ν•˜λ‚˜λ‘œ μ •ν•΄μ§‘λ‹ˆλ‹€. 반면 :smile: 같은 μ‡ΌνŠΈμ½”λ“œλŠ” ν”Œλž«νΌλ§ˆλ‹€ 달라 이 도ꡬ가 μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. CSS μ΄μŠ€μΌ€μ΄ν”„λŠ” 6자리 16μ§„μˆ˜ 뒀에 곡백을 λΆ™μ—¬ λ‹€μŒ κΈ€μžμ™€ μ„žμ΄μ§€ μ•Šκ²Œ ν–ˆμŠ΅λ‹ˆλ‹€.

κ΄€λ ¨λœ 도ꡬ

이λͺ¨μ§€ μ½”λ“œν¬μΈνŠΈΒ·μ΄μŠ€μΌ€μ΄ν”„ λ³€ν™˜κΈ° μ‚¬μš©λ²•

이λͺ¨μ§€λ‚˜ κΈ€μžλ₯Ό λΆ™μ—¬λ„£μœΌλ©΄ μ½”λ“œν¬μΈνŠΈ, HTML 10μ§„Β·16μ§„ μ—”ν‹°ν‹°, JS μ΄μŠ€μΌ€μ΄ν”„μ™€ μ„œλŸ¬κ²Œμ΄νŠΈ 쌍, CSS μ΄μŠ€μΌ€μ΄ν”„, percent-encoding 일곱 κ°€μ§€λ‘œ ν•œ λ²ˆμ— λ³€ν™˜ν•©λ‹ˆλ‹€. μ•„λž˜ ν‘œμ—μ„œλŠ” κΈ€μžλ§ˆλ‹€ ZWJ κ²°ν•©Β·λ³€μ΄μ„ νƒμžΒ·μŠ€ν‚¨ν†€Β·μ§€μ—­ν‘œμ‹œμžκ°€ λͺ‡ 개 λΆ™μ—ˆλŠ”μ§€ λΆ„ν•΄ν•΄ λ³΄μ—¬μ€λ‹ˆλ‹€. 되돌리기 칸에 ν‘œν˜„μ„ λ„£μœΌλ©΄ μ›λž˜ κΈ€μžλ‘œ λ˜λŒμ•„μ˜΅λ‹ˆλ‹€.

λ³€ν™˜ 방식과 κΈ°μ€€

일곱 κ°€μ§€ λͺ¨λ‘ κ·œκ²©μ— μ •μ˜λœ 결정둠적 λ³€ν™˜μž…λ‹ˆλ‹€. μ½”λ“œν¬μΈνŠΈλŠ” μœ λ‹ˆμ½”λ“œ ν‘œμ€€, μ—”ν‹°ν‹°λŠ” HTML ν‘œμ€€, μ„œλŸ¬κ²Œμ΄νŠΈ μŒμ€ UTF-16 κ·œμΉ™, percent-encoding 은 UTF-8 λ°”μ΄νŠΈλ₯Ό RFC 3986 λ°©μ‹μœΌλ‘œ μ μŠ΅λ‹ˆλ‹€. κ·Έλž˜ν•Œμ€ ECMA-402 의 Intl.Segmenter 둜 λ‚˜λˆ•λ‹ˆλ‹€. 2026λ…„ 10μ›” κΈ°μ€€μž…λ‹ˆλ‹€.

ν•œκ³„μ™€ μ£Όμ˜μ‚¬ν•­

μ‡ΌνŠΈμ½”λ“œλŠ” 곡인된 단일 ν‘œκ°€ μ—†μ–΄ μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이λͺ¨μ§€μ˜ μœ λ‹ˆμ½”λ“œ 이름 μ‘°νšŒλ‚˜ ν”Œλž«νΌλ³„ 지원 μ—¬λΆ€ νŒμ •λ„ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. Intl.Segmenter κ°€ μ—†λŠ” κ΅¬ν˜• λΈŒλΌμš°μ €μ—μ„œλŠ” μ½”λ“œν¬μΈνŠΈ λ‹¨μœ„λ‘œ λ‚˜λˆ„κ³  κ·Έ 사싀을 화면에 μ μŠ΅λ‹ˆλ‹€. μ§€μ—­ν‘œμ‹œμžκ°€ 짝이 λ§žμ§€ μ•ŠμœΌλ©΄ ꡭ기둜 합쳐지지 μ•ŠλŠ”λ‹€λŠ” 점도 ν‘œμ‹œν•©λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문

μ‡ΌνŠΈμ½”λ“œ(:smile:)λŠ” μ™œ μ œκ³΅ν•˜μ§€ μ•Šμ„κΉŒ?

GitHubΒ·SlackΒ·Discord κ°€ 같은 이λͺ¨μ§€μ— μ„œλ‘œ λ‹€λ₯Έ 이름을 μ“°κ³  λͺ©λ‘λ„ μˆ˜μ‹œλ‘œ λ°”λ€λ‹ˆλ‹€. 곡인된 단일 λ³€ν™˜ν‘œκ°€ μ—†μ–΄ μ–΄λ–€ ν‘œλ₯Ό 넣어도 ν‹€λ¦° ν”Œλž«νΌμ΄ μƒκΈ°λ―€λ‘œ, κ·œκ²©μ— μ •μ˜λœ ν‘œν˜„λ§Œ λ‹€λ£Ήλ‹ˆλ‹€.

κ°€μ‘± 이λͺ¨μ§€κ°€ μ½”λ“œν¬μΈνŠΈ 5개둜 λ‚˜μ˜€λŠ” κΉŒλ‹­μ€ λ¬΄μ—‡μΌκΉŒ?

πŸ‘¨β€πŸ‘©β€πŸ‘§ λŠ” μ‚¬λžŒ 이λͺ¨μ§€ 3개λ₯Ό ZWJ(U+200D) 2개둜 이어 뢙인 μ—°μ†μ²΄μž…λ‹ˆλ‹€. λˆˆμ—λŠ” ν•œ κΈ€μžμ§€λ§Œ μ½”λ“œν¬μΈνŠΈλŠ” 5개, UTF-8 λ‘œλŠ” 18λ°”μ΄νŠΈμž…λ‹ˆλ‹€. ꡬ성 μ—΄μ—μ„œ κ²°ν•© 방식을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

이 도ꡬ가 ν•˜μ§€ μ•ŠλŠ” 일은 λ¬΄μ—‡μΌκΉŒ?

이λͺ¨μ§€μ˜ μœ λ‹ˆμ½”λ“œ 이름을 μ°Ύμ•„ μ£Όκ±°λ‚˜ ν”Œλž«νΌλ³„ 지원 μ—¬λΆ€λ₯Ό μ•Œλ € μ£Όμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν‘œν˜„ λ³€ν™˜κ³Ό ꡬ성 λΆ„ν•΄κΉŒμ§€λ§Œ ν•©λ‹ˆλ‹€.