λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
컴퓨터 일반

μ•„μŠ€ν‚€μ½”λ“œ(ASCII)κ°€ 128κ°œλ°–μ— μ—†λŠ” 이유

by μ„œμ•„λž‘πŸ˜ 2023. 10. 7.

 

 

 

μ•„μŠ€ν‚€μ½”λ“œλž€?

ASCII (American Standard Code for Information Interchange, λ―Έκ΅­ 정보 κ΅ν™˜ ν‘œμ€€ λΆ€ν˜Έ)λž€ 문자λ₯Ό ν‘œν˜„ν•˜λŠ” κ°€μž₯ 초창기 문자 집합 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. μ•„λž˜λŠ” λ‚˜λ¬΄μœ„ν‚€μ˜ μ„€λͺ…을 λ§λΆ™μ˜€μœΌλ‹ˆ κ°€λ³κ²Œ λ³΄μ‹œκΈΈ λ°”λžλ‹ˆλ‹€.

영문 ν‚€λ³΄λ“œλ‘œ μž…λ ₯ν•  μˆ˜ μžˆλŠ” λͺ¨λ“  κΈ°ν˜Έλ“€μ΄ ν• λ‹Ήλ˜μ–΄ μžˆλŠ” κ°€μž₯ κΈ°λ³Έμ μΈ λΆ€ν˜Έ μ²΄κ³„이닀. λ§€μš° λ‹¨μˆœν•˜κ³  κ°„λ‹¨ν•˜κΈ° λ•Œλ¬Έμ— μ–΄λŠ μ‹œμŠ€ν…œμ—μ„œλ„ μ μš©κ°€λŠ₯ν•˜λ‹€λŠ” μž₯점이 μžˆλ‹€. 8λΉ„νŠΈ μ»΄ν“¨ν„°μ—μ„œλŠ” μ•„μŠ€ν‚€ μ½”λ“œμ— 1λΉ„νŠΈλ₯Ό λ”ν•΄ λ” λ§Žμ€ λ¬Έμžλ₯Ό ν‘œν˜„ν•  μˆ˜ μžˆλŠ” μ—¬μ§€κ°€ μƒκ²Όκ³ , μ•„μŠ€ν‚€ μ½”λ“œμ— μ—†λŠ” λ¬Έμžλ₯Ό μΆ”κ°€ν•΄ "μ½”λ“œνŽ˜μ΄μ§€"λ₯Ό μ œμ •ν•˜μ˜€λ‹€. IBM PCμ—μ„œλŠ” "Codepage 437"(라틴어, μŒμ„±κΈ°ν˜Έ, μˆ˜ν•™κΈ°ν˜Έ, κ΄˜μ„ , νŠΉμˆ˜λ¬Έμž λ“± μΆ”κ°€)을 μ‚¬μš©ν–ˆκ³ , ν™•μž₯된 μ•„μŠ€ν‚€ μ½”λ“œμ˜ μ‚¬μ‹€μƒ ν‘œμ€€μ΄ λ˜μ—ˆλ‹€. μ΄μ™Έ κ° κ΅­μ˜ μ–Έμ–΄μ— λ”°λΌ λ‹€μ–‘ν•œ μ½”λ“œνŽ˜μ΄μ§€κ°€ μ‘΄μž¬ν•˜λŠ”데, λŒ€λΆ€λΆ„ μ•„μŠ€ν‚€ μ½”λ“œμ— κΈ°λ°˜ν•˜μ—¬(가급적 ν›Όμ†ν•˜μ§€ μ•Šκ³ ) μ œμž‘λœλ‹€.

 

 

 

 

 

μ•„μŠ€ν‚€μ½”λ“œκ°€ 128개인 이유

ν•˜λ‚˜μ˜ μ•„μŠ€ν‚€ 문자λ₯Ό λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄μ„œλŠ” 1λ°”μ΄νŠΈ(8λΉ„νŠΈ)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 8λΉ„νŠΈλŠ” μ΅œλŒ€ 256κ°œκΉŒμ§€ ν‘œν˜„κ°€λŠ₯ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ•„μŠ€ν‚€ μ½”λ“œμ—μ„œλŠ” 8λΉ„νŠΈ 쀑 1λΉ„νŠΈλ₯Ό νŒ¨λ¦¬ν‹° λΉ„νŠΈ(parity bit)둜 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. νŒ¨λ¦¬ν‹° λΉ„νŠΈλŠ” 였λ₯˜ κ²€μΆœμ„ μœ„ν•΄ μ‚¬μš©λ˜λŠ” λΉ„νŠΈμ΄κΈ° λ•Œλ¬Έμ— λ‚˜λ¨Έμ§€ 7λΉ„νŠΈλ‘œ 문자λ₯Ό ν‘œν˜„ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 2의 7승인 128κ°œκΉŒμ§€ 밖에 μ—†λŠ” μ΄μœ μž…λ‹ˆλ‹€.

 

 

 

μœ λ‹ˆμ½”λ“œ

μ•„μŠ€ν‚€ μ½”λ“œμ˜ 단점은 λͺ¨λ‘ μ•„μ‹œλ‹€μ‹œν”Ό μ˜μ–΄λ₯Ό μ œμ™Έν•œ λ‹€λ₯Έ μ–Έμ–΄λŠ” ν‘œν˜„ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€. λ”°λΌμ„œ EUC-KR, CP-949 λ“±μ˜ λ‹€λ₯Έ 인코딩 방식이 ν™œμš©λ©λ‹ˆλ‹€. 이런 인코딩 방식도 νŠΉμ • μ–Έμ–΄ λͺ‡κ°œλ§Œ 지원할 수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ λ“±μž₯ν•œ 것이 μœ λ‹ˆμ½”λ“œ(unicode) 문자 μ§‘ν•©μž…λ‹ˆλ‹€. μœ λ‹ˆμ½”λ“œλŠ” λŒ€λΆ€λΆ„ λ‚˜λΌμ˜ 문자, 특수문자, 이λͺ¨ν‹°μ½˜ κΉŒμ§€λ„ μ½”λ“œλ‘œ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

μœ λ‹ˆμ½”λ“œλŠ” κΈ€μžμ— λΆ€μ—¬λœ κ°’ 자체λ₯Ό μΈμ½”λ”©λœ κ°’μœΌλ‘œ 삼지 μ•Šκ³  이 값을 λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ 인코딩 ν•©λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ UTF-8, UTF-16, UTF-32 등이 μžˆμŠ΅λ‹ˆλ‹€. UTF-8은 톡상 1λ°”μ΄νŠΈλΆ€ν„° 4λ°”μ΄νŠΈκΉŒμ§€μ˜ 인코딩 κ²°κ³Όλ₯Ό λ§Œλ“€μ–΄ λƒ…λ‹ˆλ‹€. μœ λ‹ˆμ½”λ“œ λ¬Έμžμ— λΆ€μ—¬λœ κ°’μ˜ λ²”μœ„κ°€ 0λΆ€ν„° 7FκΉŒμ§€λŠ” 1λ°”μ΄νŠΈλ‘œ, 80λΆ€ν„° 7FFκΉŒμ§€λŠ” 2λ°”μ΄νŠΈ, 800μ—μ„œ FFFFκΉŒμ§€λŠ” 3λ°”μ΄νŠΈ, 10000λΆ€ν„° 10FFFFκΉŒμ§€λŠ” 4λ°”μ΄νŠΈμž…λ‹ˆλ‹€.

λŒ“κΈ€