κΈ€μžλ₯Ό λ‚˜νƒ€λ‚΄λ‹€, μ•„μŠ€ν‚€μ½”λ“œμ™€ μœ λ‹ˆμ½”λ“œ

μš°λ¦¬κ°€ μ»΄ν“¨ν„°λ‘œ 메일을 보낼 λ•Œ, κΆκΈˆν•œ 것을 포털 μ‚¬μ΄νŠΈμ— 검색할 λ•Œ, 이 κΈ€μ—μ„œ λ˜ν•œ 'κΈ€μž'λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. κΈ€μžλŠ” 우리의 μ–Έμ–΄ μˆ˜λ‹¨μ΄λ―€λ‘œ, μ»΄ν“¨ν„°μ—μ„œ κΈ€μžλ₯Ό μ‚¬μš©ν•˜μ§€ λͺ»ν–ˆλ‹€λ©΄ μ»΄ν“¨ν„°λŠ” λ‹¨μˆœ 계산기에 λΆˆκ³Όν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€. λͺ¨λ‘κ°€ μ•Œκ³  μžˆλ“―μ΄ μ»΄ν“¨ν„°λŠ” 0κ³Ό 1, 즉 2μ§„μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 정보λ₯Ό μ €μž₯ν•˜λŠ”λ°μš”, μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” κΈ€μžλ₯Ό μ–΄λ–»κ²Œ μ΄μ§„μˆ˜λ‘œ ν‘œν˜„ν•  수 μžˆμ„κΉŒμš”?

이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 맀인 μ•„μ΄λ””μ–΄λŠ” 각 κΈ€μžμ— 숫자 μ½”λ“œλ₯Ό λΆ€μ—¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ˜ˆμ»¨λŒ€ 'μ•ˆ'μ΄λΌλŠ” κΈ€μžμ— 0, 'λ…•'μ΄λΌλŠ” κΈ€μžμ— 1λΌλŠ” μ½”λ“œλ₯Ό ν• λ‹Ήν•΄μ€μ‹œλ‹€. 'μ•ˆλ…•'을 μ½”λ“œλ‘œ λ‚˜νƒ€λ‚Έλ‹€λ©΄, '01'κ³Ό 같이 ν‘œν˜„ν•  수 있겠죠? μ΄λŸ¬ν•œ 과정을 톡해 μ»΄ν“¨ν„°λŠ” κΈ€μžλ₯Ό μ΄μ§„μˆ˜λ‘œ μ €μž₯ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ 친ꡬ의 μ»΄ν“¨ν„°λŠ” λ‹€λ₯Έ μ½”λ“œλ₯Ό μ‚¬μš©ν•œλ‹€κ³  κ°€μ •ν•΄ λ΄…μ‹œλ‹€. μ €λŠ” μΉœκ΅¬μ—κ²Œ 'μ•ˆλ…•'μ΄λΌλŠ” 글을 보내고 μ‹Άμ–΄μ„œ μ½”λ“œ '01'을 친ꡬ 컴퓨터에 λ³΄λƒˆλŠ”λ°, 친ꡬ μ»΄ν“¨ν„°μ—μ„œ μ½”λ“œ '01'은 'ν•œκ΅­'μ΄λΌλŠ” κΈ€μžλ‘œ λ³€ν™˜λ˜λ©΄ μ–΄λ–¨κΉŒμš”? 많이 κ³€λž€ν•  κ²ƒμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ μ‚¬λžŒλ“€μ€ μ΄λŸ¬ν•œ ν˜Όλž€μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄, ν‘œμ€€ μ½”λ“œλ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν‘œμ€€ μ½”λ“œμ˜ λŒ€ν‘œμ μΈ μ˜ˆμ‹œ 'μ•„μŠ€ν‚€μ½”λ“œ'와 'μœ λ‹ˆμ½”λ“œ'에 λŒ€ν•˜μ—¬ μ•Œμ•„λ΄…μ‹œλ‹€.

μ•„μŠ€ν‚€μ½”λ“œ (ASCII Code)

μ•„μŠ€ν‚€μ½”λ“œ (American Standard Code for Information Interchange, ASCII)λŠ” 1963년에 λ―Έκ΅­ ν‘œμ€€ ν˜‘νšŒμ—μ„œ λ§Œλ“  ν‘œμ€€ μ½”λ“œμž…λ‹ˆλ‹€. μ•„μŠ€ν‚€μ½”λ“œλŠ” κΈ€μž 1개λ₯Ό λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ νŒ¨λ¦¬ν‹° λΉ„νŠΈ 1κ°œμ™€ κΈ€μžλ₯Ό λ‚˜νƒ€λ‚΄λŠ” 7λΉ„νŠΈλ₯Ό μ‚¬μš©ν•˜μ—¬ 8λΉ„νŠΈλ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. κΈ€μžλ₯Ό λ‚˜νƒ€λ‚΄λŠ” λΉ„νŠΈκ°€ 7λΉ„νŠΈμ΄λ―€λ‘œ, 총 272^7개의 κΈ€μžλ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜ μœ„ν‚€ν”Όλ””μ•„μ—μ„œ κ°€μ Έμ˜¨ μ•„μŠ€ν‚€μ½”λ“œν‘œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

ascii-code-chart

'A'의 열은 '100'이며, 행은 '0001'μž…λ‹ˆλ‹€. μ΄λŠ” μ΄μ§„μˆ˜ 값이며, μ—΄μ˜ 값을 λ¨Όμ € μ μŠ΅λ‹ˆλ‹€. 즉 'A'λŠ” ASCII μ½”λ“œλ‘œ ν‘œν˜„ν•˜λ©΄ 1000001이며, 이λ₯Ό 10μ§„μˆ˜λ‘œ ν‘œν˜„ν•˜λ©΄ 65κ°€ λ©λ‹ˆλ‹€.

νŒ¨λ¦¬ν‹° λΉ„νŠΈλŠ” 였λ₯˜λ₯Ό κ²€μΆœν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. λΉ„νŠΈ 1개λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŠΈλžœμ§€μŠ€ν„°μ˜ 크기가 μž‘μ•„μ§€λ©° 터널링 효과 λ“±μœΌλ‘œ 인해 λΉ„νŠΈμ˜ 값이 λ³€ν˜•λ  수 μžˆλŠ”λ°, μ΄λŠ” 컴퓨터 연산에 였λ₯˜λ₯Ό μ•ΌκΈ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό μ˜ˆλ°©ν•˜κΈ° μœ„ν•΄ 였λ₯˜ κ²€μΆœ λΉ„νŠΈ, 즉 νŒ¨λ¦¬ν‹° λΉ„νŠΈκ°€ ν•„μš”ν•©λ‹ˆλ‹€. νŒ¨λ¦¬ν‹° λΉ„νŠΈμ˜ 주된 μ•„μ΄λ””μ–΄λŠ” 1의 κ°œμˆ˜κ°€ ν™€μˆ˜μΈμ§€, μ•„λ‹ˆλ©΄ μ§μˆ˜μΈμ§€ νŒλ³„ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ˜ˆμ»¨λŒ€ μœ„μ—μ„œ 예둜 λ“  'A'(1000001)의 경우 1의 κ°œμˆ˜κ°€ 2개, 즉 μ§μˆ˜κ°œμž…λ‹ˆλ‹€. μ΄λŠ” 짝수 νŒ¨λ¦¬ν‹°μ—μ„œ 1둜 ν‘œν˜„λ©λ‹ˆλ‹€. 즉 'A'λ₯Ό νŒ¨λ¦¬ν‹° λΉ„νŠΈλ₯Ό ν¬ν•¨ν•˜μ—¬ μ•„μŠ€ν‚€μ½”λ“œλ‘œ ν‘œν˜„ν•˜λ©΄ 11000001μž…λ‹ˆλ‹€. 'C'(1000011)의 경우 1의 κ°œμˆ˜κ°€ ν™€μˆ˜κ°œμ΄λ―€λ‘œ νŒ¨λ¦¬ν‹° λΉ„νŠΈλŠ” 0이며, 01000011으둜 ν‘œν˜„λ©λ‹ˆλ‹€. λ§Œμ•½ λ“€μ–΄μ˜¨ λ°μ΄ν„°μ˜ νŒ¨λ¦¬ν‹° λΉ„νŠΈκ°€ 1인데, 1의 κ°œμˆ˜κ°€ ν™€μˆ˜λΌλ©΄ 였λ₯˜κ°€ μžˆμŒμ„ νŒλ³„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„μŠ€ν‚€μ½”λ“œμ— λŒ€ν•˜μ—¬ μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€. μ•„λž˜ 문자의 μ•„μŠ€ν‚€ μ½”λ“œλ₯Ό 확인할 수 μžˆλŠ” 였브젝트λ₯Ό λ§Œλ“€μ–΄ λ‘μ—ˆμŠ΅λ‹ˆλ‹€. 확인해 λ³΄μ„Έμš”!

⚠️ μ•„μŠ€ν‚€μ½”λ“œμ— μ‘΄μž¬ν•˜λŠ” κΈ€μžλ§Œμ„ 적을 수 μžˆμŠ΅λ‹ˆλ‹€.

μœ λ‹ˆμ½”λ“œ (UNI Code)

μ•„μŠ€ν‚€μ½”λ“œμ—λŠ” 치λͺ…적인 약점이 μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ λ―Έκ΅­ ν‘œμ€€, 즉 μ˜μ–΄κ°€ μ•„λ‹Œ λ‹€λ₯Έ μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜κΈ° μ–΄λ ΅λ‹€λŠ” μ μž…λ‹ˆλ‹€. λ§Œμ•½ μ»΄ν“¨ν„°λ‘œ ν•œκΈ€μ„ μ‚¬μš©ν•˜μ§€ λͺ»ν•œλ‹€λ©΄, ν•œκ΅­μΈμ΄ μš°λ¦¬μ—κ²Œ 맀우 λΆˆνŽΈν•˜κ² μ£ ? μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μœ λ‹ˆμ½”λ“œ (UNI Code)λ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. UNI μ½”λ“œλŠ” μ•„μŠ€ν‚€μ½”λ“œμ™€ λ‹€λ₯΄κ²Œ 8λΉ„νŠΈκ°€ μ•„λ‹Œ 8λΉ„νŠΈμ—μ„œ 32λΉ„νŠΈλ₯Ό (UTF-8 κΈ°μ€€) μ‚¬μš©ν•©λ‹ˆλ‹€. 즉, μ΅œλŒ€ 2322^32개의 문자λ₯Ό μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ¨Έμ–΄λ§ˆν•˜κ²Œ 큰 κ°’μ΄μ§€μš”? λ”°λΌμ„œ μ•„μŠ€ν‚€μ½”λ“œμ™€ 달리 μ˜μ–΄λ§Œ μ‚¬μš©ν•  수 μžˆλŠ” 것이 μ•„λ‹Œ 세계 각ꡭ의 μ–Έμ–΄ 및 기호λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Made with πŸ”₯ by @siwon