πŸ”‘ASCII / μœ λ‹ˆμ½”λ“œ μ½”λ“œ 포인트 쑰회기

문자 μž…λ ₯ μ‹œ μ½”λ“œκ°’, μ½”λ“œ μž…λ ₯ μ‹œ 문자 λ³€ν™˜

ASCII와 μœ λ‹ˆμ½”λ“œ μ½”λ“œ ν¬μΈνŠΈλž€?

μ»΄ν“¨ν„°λŠ” λͺ¨λ“  문자λ₯Ό 숫자둜 μ €μž₯ν•©λ‹ˆλ‹€. 각 λ¬Έμžμ— κ³ μœ ν•œ 번호λ₯Ό λΆ€μ—¬ν•œ κ·œμΉ™μ΄ 문자 인코딩 ν‘œμ€€μ΄λ©°, ASCII와 μœ λ‹ˆμ½”λ“œλŠ” μ˜€λŠ˜λ‚  κ°€μž₯ 널리 μ“°μ΄λŠ” 두 κ°€μ§€ ν‘œμ€€μž…λ‹ˆλ‹€. 이 도ꡬλ₯Ό μ‚¬μš©ν•˜λ©΄ λ¬Έμžμ™€ μ½”λ“œ 값을 μ–‘λ°©ν–₯으둜 μ¦‰μ‹œ μ‘°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ASCII μ½”λ“œ 기초

ASCII(American Standard Code for Information Interchange)λŠ” 1963년에 μ œμ •λœ 7λΉ„νŠΈ 문자 μ½”λ“œλ‘œ, 0~127λ²ˆκΉŒμ§€ 128개 문자λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€. 영문 λŒ€λ¬Έμž AλŠ” 65번, μ†Œλ¬Έμž aλŠ” 97번이며, 숫자 0은 48λ²ˆμž…λ‹ˆλ‹€. λŒ€μ†Œλ¬Έμž μ°¨μ΄λŠ” μ •ν™•νžˆ 32둜 일정해, λΉ„νŠΈ μ—°μ‚°μœΌλ‘œ λŒ€μ†Œλ¬Έμžλ₯Ό μ‰½κ²Œ μ „ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 0~31번과 127λ²ˆμ€ κ°œν–‰(10), νƒ­(9), Null(0) λ“±μ˜ μ œμ–΄ λ¬Έμžμž…λ‹ˆλ‹€.

μœ λ‹ˆμ½”λ“œ(Unicode)와 μ½”λ“œ 포인트

μœ λ‹ˆμ½”λ“œλŠ” μ „ 세계 λͺ¨λ“  언어와 기호λ₯Ό ν•˜λ‚˜μ˜ μ²΄κ³„λ‘œ ν†΅ν•©ν•œ ꡭ제 ν‘œμ€€μž…λ‹ˆλ‹€. U+0000λΆ€ν„° U+10FFFFκΉŒμ§€ μ•½ 110만 개의 μ½”λ“œ 포인트λ₯Ό μ œκ³΅ν•˜λ©°, ν˜„μž¬ 15만 개 μ΄μƒμ˜ λ¬Έμžκ°€ ν• λ‹Ήλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ν•œκΈ€ μŒμ ˆμ€ U+AC00(κ°€)~U+D7A3(힣) ꡬ간에 11,172자, 이λͺ¨μ§€λŠ” 주둜 U+1F300 이후 λ²”μœ„μ— μœ„μΉ˜ν•©λ‹ˆλ‹€.

ν™œμš© μ˜ˆμ‹œ

μ›Ή 개발 μ‹œ HTML 특수문자λ₯Ό μ—”ν‹°ν‹°(A = A) ν˜•νƒœλ‘œ μ“Έ λ•Œ μ½”λ“œ ν¬μΈνŠΈκ°€ ν•„μš”ν•©λ‹ˆλ‹€. CSS content μ†μ„±μ—μ„œλŠ” μ—­μŠ¬λž˜μ‹œ ν‘œκΈ°(\0041)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. Pythonμ—μ„œλŠ” ord('A')둜 μ½”λ“œ 값을, chr(65)둜 문자λ₯Ό μ–»μŠ΅λ‹ˆλ‹€. JavaScriptμ—μ„œλŠ” 'A'.codePointAt(0)κ³Ό String.fromCodePoint(65)κ°€ λŒ€μ‘ ν•¨μˆ˜μž…λ‹ˆλ‹€. μ •κ·œμ‹μ—μ„œ μœ λ‹ˆμ½”λ“œ λ²”μ£Ό(\p{L} λ“±)λ₯Ό μ‚¬μš©ν•  λ•Œλ„ μ½”λ“œ λ²”μœ„ 이해가 ν•„μš”ν•©λ‹ˆλ‹€.

자주 λ¬»λŠ” 질문

UTF-8κ³Ό μœ λ‹ˆμ½”λ“œμ˜ μ°¨μ΄λŠ” λ¬΄μ—‡μΈκ°€μš”?
μœ λ‹ˆμ½”λ“œλŠ” λ¬Έμžμ— 번호λ₯Ό λ§€κΈ°λŠ” ν‘œμ€€μ΄κ³ , UTF-8은 κ·Έ 번호λ₯Ό μ‹€μ œ λ°”μ΄νŠΈλ‘œ μ €μž₯ν•˜λŠ” 인코딩 λ°©μ‹μž…λ‹ˆλ‹€. UTF-8은 ASCII와 ν˜Έν™˜λ˜λ©° ν•œκΈ€ 1μžλŠ” 보톡 3λ°”μ΄νŠΈλ‘œ μ €μž₯λ©λ‹ˆλ‹€.
BOM(Byte Order Mark)μ΄λž€ λ¬΄μ—‡μΈκ°€μš”?
BOM은 파일 맨 μ•žμ— λΆ™λŠ” U+FEFF μ½”λ“œλ‘œ, 파일의 λ°”μ΄νŠΈ μˆœμ„œμ™€ 인코딩 방식을 μ•Œλ €μ£ΌλŠ” λ§ˆμ»€μž…λ‹ˆλ‹€. UTF-8 νŒŒμΌμ—μ„œλŠ” 보톡 λΆˆν•„μš”ν•˜μ§€λ§Œ 일뢀 Windows ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€.