컴퓨터가 이해할 수 있는 최소한의 정보 단위는 0과 1.
이처럼 가장 작은 정보단위를 나타내는 것이 bit이며,
1 bit는 0또는 1을 담을 수 있다.(2진수)
따라서, 1bit = 2가지의 종류, 2bit = 4가지의 종류
8bit = 256가지
가장 기본적인 단위인 1Byte = 8Bits = 256가지[0~255]
char | 1Byte(8Bits) |
short | 2Byte(16Bits) |
int | 4Byte(32Bits) |
long | 8Byte(16Bits) |
B, KB, MB, GB, TB를 나타낼때,
기본적으로 사람들에게 익숙한 10진수 표현법과 컴퓨터의 실제 2진수 표현법이 불문명하다.
10진수 => B(Byte), KB(1000Byte),MB(1000KByte),GB(1000MByte), TB(100GByte)
2진수 => B(Byte), KB(1024Byte),MB(1024KByte),GB(1024MByte), TB(1024GByte)
위와 같은 문제를 해결하는 방안으로 1998년도에 IEC라는 단체에서
10진수 단위는 kilobyte, megabyte라는 일반적인 명칭을 사용하고
2진수는 binary에서 bi를 따서 kibibyte, mebibyte를 사용하여 구분한다.
이전에는 나라별로 언어마다 다양한 인코딩 방식으로 인해 한글이 깨지거나 못 읽는 경우가 빈번했다.
위와 같은 문제를 해결한게 Ken Thompson과 Go언어를 창시한 Rob Pike가 개발한
텍스트 인코딩 방식인 UTF-8(Unicode Transformation For mat(8 bit) 인코딩이다.
기존의 ASCII(1byte) 뿐만 아니라 모든 Unicode(2bytes~4bytes)를 나타낼 수 있다.
UTF-8은 가변길이 유니코드 인코딩이다.
UTF-16도 있지만 기본적으로 2bytes를 사용하고 있기 때문에, 1byte인 ASCII와 같은 것을 사용할때
메모리 낭비가 있어 UTF-8을 통상적으로 많이 사용한다.
DI(의존성주입) 방법. 생성자주입을 사용하자 (0) | 2021.12.21 |
---|---|
로컬 서버를 외부 도메인으로 보여주기 (0) | 2021.09.18 |
로깅(logging) (0) | 2021.08.06 |
클래스, 객체, 인스턴스 (0) | 2021.07.21 |
웹 표준, 웹 접근성 (추가 작성 할 것) (0) | 2021.06.23 |