소프트웨어 공학용 수학

ASCII(아스키)코드

단점이없어지고싶은개발자 2022. 9. 25. 17:36
반응형

ASCII

ASCII(아스키)는 128개의 문자로 이뤄져있다.

영어 알파벳과 기호들을 컴퓨터에서 표현하는 규약

 

문자 A는 65(10) -> 0100 0001(2) -> 메모리에 저장

문자 '1'을 저장(숫자 1과 문자 1은 다르다) -> 0011 0001(2) -> 메모리에 저장

 

ANSI

  • MS Windows에서 라틴문자 기번 언어를 표시하기 위한 인코딩 방법
  • 하지만 아시아 문자가 없었다. 

멀티바이트

  • 1바이트에 담을 수 없는 언어들을 위해 나왔다.
  • 가변 너비 인코딩
  • 문자를 2바트에 내에서 표현

EUC

EUC-XX로 붙여진다.

  • EUC-KR은 한국어 문자 인코딩
  • 0X00 ~ 0X7F 아스키 혹은 한국 산업 규격인 KS x 1003
  • 한계로는 여러 언어를 한 번에 표현 못한다. 다른 언어와 같이 사용하면 글자가 깨지는 현상 발생

유니코드

전 세계 모든 문자 및 이모지까지 '일괄되게' 표현할 수 있는 규격.

2019년 5월 Unicode 12.1은 총 137,994 문자 표현

 

UTF

UTF-8(1바이트), UTF-16(2바이트), UTF-32(4바이트)로 나뉘어짐

차이점은 최소 단위가 몇 바이트냐에 따라 달라짐.

 

현재 웹페이지 93%는 UTF-8을 사용한다.

  • UTF-32에 비해 메모리 적게 씀
  • UTF-16 인코딩 / 디코딩 알고리즘에 비해 쉬움
  • 16/32과는 달리 엔디안의 문제없다.
  • 아스키코드하고 100% 호환 - 아스키코드는 문자 1바이트로 표현 가능

엔디안이란 ? 최소 저장단위 초과하는 데이터 저장 순서를 정의

 

리틀엔디안

  • 데이터가 끝나는 마지막 단위가 가장 작은 메모리 주소에 위치
  • 현재 흔히 사용하는 Intel이나 AMP cpu에서 사용

빅엔디안

  • 데이터의 마지막 단위가 가장 큰 메모리 주소에 위치(사람이 읽기 편함)
  • 네트워크 스트림에서 사용

 

UCS-2

  • 최초의 유니코드 인코딩
  • 2바이트에 모든 문자가 들어간다고 했지만 턱없이 모자라는 현상이 발생했다

 

반응형