C#/네트워크

[c#][서버] Unicode & Encoding / UTF8 vs UTF16

goliot 2024. 6. 9. 15:38
반응형

Ascii 코드

  • 1바이트로 문자를 표현
    • ex) A = 0x41(65), ! = 0x21(33)

UniCode

  • 다른 나라의 언어도 표현하기 위해 2바이트를 사용해 문자를 표현
  • 그럼에도 표현하지 못하는 문자는 3바이트를 사용
    • ex) ㅎ = 0x001112, A = 0x000041

Encoding

  • 가변적인 방법으로 컴퓨터에게 문자를 어떻게 매핑할지 결정하는 것
  • 매번 최대 바이트로 사용하면 낭비가 심하기 때문에 분류를 해둔 것

UTF-8

  • 한글이 속한 분류
  • 영문은 1byte, 한글은 3byte로 사용

UTF-16

  • BMP까지는 2바이트(한글, 영문 모두), 다음은 4바이트
    • BMP = 많이 쓰는 언어, 해당 범위를 넘어가면 음악기호같은 잘 안쓰는 부분
  • 대부분의 디폴트는 UTF16

 

반응형