비트 / 바이트 / 문자인코딩

MSKim·2023년 2월 22일
0

CS

목록 보기
1/13

Bit

컴퓨터가 처리할 수 있는 최소 단위.
한 비트 당 0 또는 1을 나타낼 수 있음.
2 진수로 표현할 수 있다.
ex) 29 = 11101(2)

Byte

1 Byte = 8 Bits
2^8 = 256 -> [0, 255]

ASCII

미리 약속된 문자열 코드표.
다양한 문자열이 들어있지 않음.
1 Byte로 표현.

Unicode

다양한 다국어의 문자열이 들어있음.
2 Byte로 표현.

비트와 바이트가 중요한 이유?

프로그래밍에서 변수를 선언할 때 어떤 데이터 타입이냐에 따라서 메모리에 공간이 얼마나 확보되는지가 정해지기 때문에 효율적으로 작성하는 것이 중요하다.

Mega / Mebi

1 Byte = 8 Bits
1 KB = 1024 Byte = 2^10 Bytes -> 1KB = 1000 Byte = 1000
1 MB = 1024 KByte = 2^20 Bytes -> 1MB = 1000 KByte = 1000^2 Bytes
1 GB = 1024 MByte = 2^30 Bytes -> 1GB = 1000 MByte = 1000^3 Bytes
1 TB = 1024 GByte = 2^40 Bytes -> 1TB = 1000 GByte = 1000^4 Bytes

KB 에 1000을 곱해서 MB가 되는 이러한 사이즈들은 외장디스크나 USB에 표현되는 사이즈로 주로 10진수 단위로 곱해진 것을 말한다.
하지만 용량이 커질수록 10진수로 표현된 용량과 2진수로 표현된 용량의 차이가 커진다.
ex) 100MB USB를 컴퓨터에 연결해 보면 실제로 저장할 수 있는 용량은 95MB 정도로 나오는 경우가 있다.

이러한 혼돈을 없애기 위해 IEC에서 새로운 표기법을 제안했다.
kibibyte KB = 1024 Byte = 2^10 Bytes
mebibyte MB = 1024 KByte = 2^20 Bytes
gibibyte GB = 1024 MByte = 2^30 Bytes
tebibyte TB = 1024 GByte = 2^40 Bytes

Text Encoding

현존하는 많은 문자열들을 바이너리 형태로 어떻게 나타낼 건지 그 규격을 약속한 것으로 각각 나라별 언어마다 다양한 텍스트 인코딩이 존재했다.
서로 다른 인코딩 규격 때문에 웹사이트가 깨지거나 문서가 읽어지지 않는 문제점들이 발생했고 이를 해결하기 위해 나온 것이 UTF-8이다.

UTF-8

Unicode Transformation For mat(8 bit)
가변길이 유니코드 인코딩

movie

profile
Today I Learned

0개의 댓글