문자열 - Character encoding

정리·2022년 5월 1일
0

Programming

목록 보기
1/2

Character Encoding

  • 문자 인코딩, Text Encoding
  • Process of assigning numbers to graphical characters
    • To be stored, transmitted, and transformed using digital computers

Encoding

  • "A"
    • 01000001 : ASCII
    • 01000001 : UTF-8
    • 00000000 01000001 : UTF-16

Decoding

  • 01000001 -> "A"

ASCII

  • American Standard Code for Information Interchange
  • A -> 01000001
  • 128개의 문자 표현
  • 95개의 출력 가능 문자(영문 알파벳 52개, 숫자 10개, 특수문자 32개, 공백문자 1개)
  • 출력 불가능한 제어문자(control character)
  • 1비트는 체크섬으로 사용

알파벳 + 숫자

  • 대문자 A(65) ~ Z(90)
  • 소문자 a(97) ~ z(122)
  • 숫자 0(48) ~ 9(57)

기타

  • NUL(0) \0
  • SOH(1), STX(2), ETX(3), EOT(4), ENQ(5), ACK(6)
  • BEL(7) \a
  • BS(8) \b
  • HT(9) \t
  • LF(10) \n
  • FF(12) \f
  • CR(13) \r
  • ESC(27), DEL(127)

Unicode

  • 모든 언어를 표현할수 있도록 만든 문자집합
  • Unicode 문자집합을 표현할수 있는 문자열 인코딩
    • utf-8, utf-16, utf-32

Plane (Unicode)

  • 0번 ~ 16번 (17 planes)
  • Basic multilingual plane (BMP)
    • 0번 plane

UTF-8

  • 8-bit 인코딩
  • ASCII와 호환
  • 표현하는 문자에 따라서 1 ~ 6 바이트 사용
  • 한글은 3바이트 사용
  • 1바이트 문자 0xxxxxxx : ASCII와 호환
  • 2바이트 문자 110xxxxx 10xxxxxx
  • 3바이트 문자 1110xxxx 10xxxxxx 10xxxxxx
  • 4바이트 문자 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

UTF-16

  • 16-bit 인코딩
  • 2 ~ 4 바이트 사용
  • BOM(Byte Order Mark)을 사용
  • BMP에 속하는 문자들은 16비트로 인코딩

UTF-32

  • 32-bit 인코딩
  • 모든 문자를 고정길이 4바이트로
profile
내용 정리

0개의 댓글