CS 기초학습(1) - 문자인코딩 개념

김진아·2024년 7월 29일

CS

목록 보기
1/15

movie

1. 비트와 바이트

bit(비트)

  • 컴퓨터의 가장 작은 정보 단위
  • 0과 1로, 2가지 정보를 나타낼 수 있음

byte(바이트)

  • 컴퓨터의 정보 단위 중 하나
  • 8비트, 256가지의 정보를 나타낼 수 있음
  • 표현할 수 있는 값의 수가 적당하기에 오늘날 컴퓨터 시스템의 표준 데이터 단위로 자리잡고 있음

2. 2진수와 10진수 변환

2진수(이진법)

  • 0과 1만을 사용하여 모든 수를 표현
  • 각 자릿수는 2의 거듭제곱을 기반으로 값을 가짐
  • ex) 29(10진법) => 12^4 + 12^3 + 12^2 + 02^1 + 1*2^0 => 11101(2진법)

10진수

  • 일상에서 가장 많이 사용하는 숫자 체계
  • 0~9까지만을 사용하여 모든 수를 표현
  • 각 자릿수는 10의 거듭제곱을 기반으로 값을 가짐
  • ex) 29 = 210^1 + 910^0

3. 문자코드

ASCII(아스키코드)

  • 1960년대에 개발된 문자와 기호를 컴퓨터가 이해할 수 있는 숫자로 변환하기 위한 표준 코드
  • 1 byte(8 bit)로 문자 표현, 128개의 문자만 지원

Unicode(유니코드)

  • 전 세계의 모든 문자와 기호를 표준화
  • 글로벌화된 소프트웨어와 시스템에서 문자 데이터를 호환성 있게 처리
  • 다양한 인코딩 방식을 사용 (UTF-8, UTF-16, UTF-32)

4. 프로그래밍 언어 예제

  • 위와 같은 문자인코딩 방법들을 통해 데이터 타입이 세세하게 나뉜다.
    이를 통해 언어에 따라 메모리 관리를 수동 및 자동으로 할 수 있다.

고수준 언어(사람 친화적인 언어)

  • 사람들이 이해하기 쉬운 언어
  • 메모리 관리를 자동적으로 해준다.
  • ex) java, python, C#
  • 장점: 안정적, 자동메모리관리, 코드작성 단순화
  • 단점: 성능 저하, 제한적인 메모리 제어

저수준 언어(컴퓨터 친화적인 언어)

  • 컴퓨터가 이해하기 쉬운 언어
  • 개발자가 메모리 관리를 직접 해야함 => 세분화된 데이터 타입
  • ex) C, C++
  • 장점: 고성능, 메모리 세밀한 제어 가능
  • 단점: 메모리 제어는 개발자의 책임, 복잡한 코드

5. 메가와 메비의 차이

2진수 기준 측정

  • KB(KiB) (kibi)키비바이트 => 1024 Byte 2^10Bytes
  • MB(MiB) (mebi)메비바이트 => 1024 KByte 2^20Bytes
  • GB(GiB) (gibi)기비바이트 => 1024 MByte 2^30Bytes
  • TB(TiB) (tebi)테비바이트 => 1024 GByte 2^40Bytes

10진수 기준 측정

  • KB 킬로바이트 => 1000 Byte
  • MB 메가바이트 => 1000 KByte 1000^2Bytes
  • GB 기가바이트 => 1000 MByte 1000^3Bytes
  • TB 테라바이트 => 1000 GByte 1000^4Bytes

6. 문자인코딩

  • UTF : Unicode Transformation For mat

UTF-8

  • 가변길이 유니코드 인코딩
  • 1~4 byte 범위를 가변길이로 인코딩
  • 1 byte(8 bit) 단위로 메모리 저장

UTF-16

  • 고정 및 가변길이 유니코드 인코딩
  • 2 byte(16 bit) 단위로 메모리 저장
profile
https://develop-chick.tistory.com/ 첫번째 블로그

0개의 댓글