Home 컴퓨터 구조 (4)
Post
Cancel

컴퓨터 구조 (4)

해당 포스팅은 컴퓨터 사이언스 부트캠프 with 파이썬(양태환 저)를 보고 공부하며 개인적인 용도를 위해 정리한 글이다.

텍스트를 표현하는 방법

아스키 코드

  • 정보 교환을 위한 미국 표준 코드의 준말 (ASCII)
  • 키보드에 모든 기호에 대해 7비트 수 값을 할당했다.
    • e.g. A 는 65, B 는 66. (대소문자를 구분한다.)
  • 제어문자control character 는 글자를 출력하는데에 사용하지 않고 장치를 제어하기 위해 사용 된다.
    • e.g. NUL 은 널(NULL) 을 의미하며 00 을 할당 받았다.

유니코드

  • 기존의 영어만 저장 가능했던 아스키 코드의 단점을 보완하기 위해 새로 만든 표준이다.
  • 문자 코드에 따라 각기 다른 인코딩Encoding을 사용한다.
    • 인코딩: 다른 비트 패턴을 표현하기 위해 사용하는 비트 패턴.

UTF-8

  • 유니코드 중 가장 유명한 것은 8 비트를 사용하는 UTF-8 (unicode transformation format - 8 bit) 이다.
    • 모든 아스키 문자를 8 비트로 표현하기 때문에 아스키 데이터를 인코딩 할 때에는 추가 공간이 필요하지 않다.
    • 아스키가 아닌 문자의 경우 아스키를 받아 처리하는 프로그램이 깨지지 않는 방법으로 문자를 인코딩한다.
  • 문자를 8 비트 덩어리Octet 의 시퀀스로 인코딩한다.
  • 첫 번째 8 비트의 MSB 쪽에 있는 비트들이 8 비트 덩어리의 시퀀스를 표현하고 덩어리의 맨 앞을 식별하기 쉽다.
    • 어떤 프로그램이 문자의 경계를 찾아야하는 경우에 해당 방식은 매우 유용하다.

문자를 사용한 수 표현

베이스 64

  • 3 바이트 데이터를 4개의 문자로 표현한다.
    • 3 바이트의 데이터의 24 비트를 4가지 6 비트 덩어리로 나누고 각 비트 덩어리에 출력 가능한 문자를 할당해 표현한다.
    • 모든 데이터가 3 배수일 수는 없으므로 원본 데이터가 2 바이트 남으면 끝에 =를 붙이고 1 바이트가 남으면 == 를 붙인다.

URL 인코딩

  • 특별한 의미를 지니는 문자의 경우 리터럴Literal 로 사용 할 필요가 있다.
    • 슬래시 문자 (/) 의 경우 16 진수로 0x2F 인데 슬래시 문자를 URL 에 사용하되 특별한 의미를 지니게 하고 싶지 않은 경우 %2F 로 표현한다.
      • % 도 마찬가지로 리터럴로 사용하고 싶은 경우 %25 로 표현한다.

색을 표현하는 방법

  • Red, Green, Blue 를 사용하는 (RGB)
  • 색은 컬러큐브color cube 라는 이름의 정육면체로 표현할 수 있다.
  • (0, 0, 0) 은 검은색, (1, 1, 1) 은 흰색을 표현.
  • RGB 은 32비트 (4바이트) 를 사용하는데 4바이트 중 3바이트는 색상을 남은 1바이트는 투명도transparency 를 나타낸다.
  • RGBa 는 각 RGB 값에 투명도를 의미하는 알파값 (1 ~ 255) 값을 곱한다.

색 인코딩

  • 색 인코딩인 16진수를 사용하여 #000000 (검은색) 부터 #FFFFFF (흰색) 까지의 값을 이용한다.
This post is licensed under CC BY 4.0 by the author.

숫자와 문자가 혼합 된 문자열에서 숫자만 찾기

컴퓨터 구조 (5)