[Day14] UTF-8

πŸ¦₯ HTML

UTF-8

UTF-8 Characterset

Universal characterset Transformation Format

  • 기쑴의 νŽΈμ§‘κΈ°μ—μ„œλ„ μ˜μ–΄λ₯Ό 읽고 μ“Έ 수 μžˆλ„λ‘ λ§Œλ“€μ—ˆλ‹€
  • 7bit 둜 μ •μ˜ν•΄μ„œ μ“°λ˜ λ¬ΈμžλŠ” κ·ΈλŒ€λ‘œ 계속 8bit μ‚¬μš©
  • ASCII λ¬ΈμžλŠ” κ·ΈλŒ€λ‘œ
  • κ·Έ μ™Έ λ¬ΈμžλŠ” κ·œμΉ™μ— 따라 2~4byte 둜 λ³€ν™˜
  • (ν•œκΈ€ = 2byte -> 3byte λ³€ν™˜) : ν•œκΈ€μ€ 였히렀 손해이닀.

utf

  • ν•œκΈ€μ€ 이 λ²”μœ„μ—μ„œ λ³€ν™˜ν•œλ‹€.

Encoding / Decoding

  • encoding = κ·œμΉ™μ— 따라 λ‹€λ₯Έ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•œλ‹€ ex) μ••μΆ•ν•˜κΈ°, μ•”ν˜Έν™”
  • decoding = μ›λž˜ ν˜•μ‹μœΌλ‘œ λ˜λŒλ¦°λ‹€ ex) μ••μΆ•ν’€κΈ°, λ³΅ν˜Έν™”

URL Encoding

  • URL encoding (percent encodig) = URL μ—μ„œ 특수 λͺ©μ μœΌλ‘œ μ‚¬μš©λ˜κ³  문자λ₯Ό 닀루고 μ‹Άμ„λ•Œ κ·œμΉ™μ— 따라 λ³€ν•œλ‹€.
  • 일반 μš©λ„λ‘œ μ‚¬μš©ν• μˆ˜ μ—†κ³ , νŠΉμ • ν˜•μ‹(%) 에 맞좰 λ³€ν™˜ν•΄μ•Ό ν•œλ‹€.
  • μ˜ˆμ•½μ–΄ : ! * ' () ; : @ $ = + $ , / ? # []
  • λΉ„μ˜ˆμ•½μ–΄ : ABCD~~Z abcd~~z 0~9 - _ . ~
λΉ„μ˜ˆμ•½μ–΄
A ---> A
a ---> a
7 ---> 7
. ---> .

μ˜ˆμ•½μ–΄
! ---> %   2   1
[21] [25][32][31]

+ ---> %   2   B
[2B] [25][32][42]

? ---> %   3   F
[3F] [25][33][46]

space ---> +
[20]      [2B]

     κ°€ ------>  %   E   A   %   B   0   %   8   0
[EA][B0][80]   [25][45][41][25][42][4F][25][38][30] 
  • ABCabc123!+? κ°€ encoding 확인

ascii

  • 주의
    숫자 2와 문자 '2'
    숫자 2 -----> 00000010 2μ˜λ³΄μˆ˜μ— μ˜ν•΄μ„œ λ³€ν™˜
    문자 '2' ---> 00110010 ISO-8859-1 에 μ˜ν•΄μ„œ λ³€ν™˜
    

Media data

  • μ˜μƒμ—μ„œλ„ 인코딩과 디코딩을 μˆ˜ν–‰ν•œλ‹€.
  • μ˜μƒ dataλ₯Ό μ••μΆ•ν•΄μ„œ mp3, mp4 둜 λ³΄λ‚Όλ•Œ encoding(νŠΉλ³„ν•œ μ•Œκ³ λ¦¬μ¦˜μ— 따라 μ••μΆ•) μˆ˜ν–‰ν•˜κ³  λ°˜λŒ€λ‘œ 뽑아 λ‚Όλ•Œ decodingν•œλ‹€.
  • μ‚¬μš©μž μͺ½μ—μ„œ μ‚¬μš©ν•˜λŠ” μ˜μƒν”Œλ ˆμ΄μ–΄μ— encoding ν•  수 μžˆλŠ” μ–΄λ– ν•œ μ•Œκ³ λ¦¬μ¦˜μ΄ μ—†μ„λ•Œ β€œcodec” 였λ₯˜κ°€ λœ¨λŠ” 것 이닀.

Leave a comment