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

 

반응형

'C# > 네트워크' 카테고리의 다른 글

[c#][서버] Packet Generator - 코드 작성 자동화  (2) 2024.06.09
[c#][서버] Serialization (2)  (0) 2024.06.09
[c#][서버] Serialization  (0) 2024.06.09
[c#][서버] PacketSession  (1) 2024.06.07
[c#][서버] RecvBuffer, SendBuffer  (1) 2024.06.07