-
컴퓨터 공학 기초, 문자열, 그래픽, 운영체제Topic/CS 2022. 2. 10. 11:54반응형
문자열 ✔️
2010년 이후, 컴퓨터 세계에서 우리는 인코딩 방식이 통일된 유니코드를 이용하고 있다.
문자열 하나는 몇 바이트일까?
알파벳 하나가 1바이트(byte)를 차지하던 시절이 있었지만 요즘에는 유니코드를 사용해야 텍스트를 정확히 저장할 수 있다.
유니코드란?
전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다.
이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자를 다루는 알고리즘 등이 포함된다.인코딩이란 어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것.
이 신호를 입력하는 인코딩과 문자를 해독하는 디코딩을 하기 위해서는 정해진 기준을 바탕으로 입력과 해독이 처리되어야 한다.이렇게 인코딩과 디코딩의 기준을 문자셋(charset)이라고 한다. 이 문자셋의 국제 표준이 유니코드이다.
ASCII 문자란?
알파벳을 사용하는 대표적인 문자 인코딩으로 7비트로 모든 영어 알파벳을 표현할 수 있다.
52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 공백 문자를 포함한다.UTF-8과 UTF-16의 차이?
UTF-8과 UTF-16은 인코딩 방식의 차이로 나뉜다.
UTF-8은 Universal Coded Character Set + Transformation Format -8-bit의 약자로, 8은 비트(bit)를 의미한다.UTF-8의 특징
: 가변 길이 인코딩
UTF-8은 유니코드 한 문자를 나타내기 위해 1 byte(=8 bits)에서 4 bytes까지 사용한다.
[데이터] UTF-8로 표현된 '코'
1110xxxx 10xxxxxx 10xxxxxx # x 안에 순서대로 값을 채워넣습니다. 11101100 10111101 10010100 let encoder = new TextEncoder(); // 기본 인코딩은 'utf-8' encoder.encode('코') // Uint8Array(3) [236, 189, 148] (236).toString(2) // "11101100" (189).toString(2) // "10111101" (148).toString(2) // "10010100"
네트워크를 통해 전송되는 텍스트는 주로 UTF-8로 인코딩된다.
사용된 문자에 따라 더 작은 크기의 문자열을 표현할 수 있기 때문이다.
UTF-8은 ASCII 코드의 경우 1 byte, 영어 외 글자는 2 byte,3 byte, 보조 글자는 4 byte를 차지한다. (이모지는 보조 글자)UTF-8은 바이트 순서가 고정되며, 순서를 따지지 않고, 순서가 정해져 있다.
UTF-16 특징
코드 그대로 바이트로 표현 가능하고, 바이트 순서가 다양하다.
유니코드 대부분을 16bits로 표현한다.그래픽 ✔️
비트맵(레스터)과 벡터 이미지의 차이점 ☑️
비트맵(래스터) 벡터 기반 기술 픽셀 기반 수학적으로 계산된 Shape 기반 특징 사진과 같이 색상의 조합이 다양한 이미지에 적합 로고, 일러스트와 같이 제품에 적용되는 이미지에 적합 확대 확대에 적합하지 않음, 보다 큰 사이즈의 이미지가 필요할 때 사용하려는 크기 이상으로 생성하거나 스캔해야 함 품질 저하 없이 모든 크기로 확대 가능하며, 해상도의 영향을 받지 않음 크기(dimension)에 따른 파일 용량(file size) 큰 크기의 이미지는, 큰 파일 사이즈를 가짐 큰 크기의 벡터 그래픽은 작은 파일 사이즈를 유지할 수 있음 상호 변환 이미지의 복잡도에 따라 벡터로 변환하는 것에 오랜 시간이 걸림 쉽게 래스터 이미지로 변환 가능 대표적인 파일 포맷 jpg, gif, png, bmp, psd svg, ai 웹에서의 사용성 jpg, gif, png 등이 널리 쓰임 svg 포맷은 현대의 브라우저에서 대부분 지원 운영체제 ✔️
1. 운영체제
시스템 자원 관리
운영체제가 없다면, 응용 프로그램이 실행될 수 없다.
응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적이고
운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와준다.하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의 시스템 자원을 관리하는 체제가 운영체제이다.
응용 프로그램 관리
응용 프로그램이 해킹을 당해 마음대로 사용자 정보에 접근하고 수정, 삭제해버리는 일을 막기 위해 권한에 대한 관리가 필요하다.
2. 응용 프로그램: 운영체제를 통해 컴퓨터에게 일을 시키는 것
응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면 권한이 필요하다.
응용 프로그램이 운영체제와 소통하기 위해서 운영체제가 응용 프로그램에게 인터페이스(API)를 제공해야 한다.
응용 프로그램이 시스템 자원을 사용할 수 있도록, 운영체제 차원에서 다양한 함수를 제공하는 것을 시스템 콜이라 한다.우리가 스마트폰에서 카메라 사용이나 사진에 접근 권한을 허락받는 과정이 바로 운영체제로부터 권한을 부여받는 과정이다.
반응형'Topic > CS' 카테고리의 다른 글
OSI 7계층 | TCP/IP 4계층 비교 (0) 2022.04.01 웹페이지가 사용자에게 보여지는 과정 (0) 2022.03.28 SSR vs. CSR (feat. SEO) (0) 2022.03.23 네트워크 심화 과정 (0) 2022.02.15 운영체제, 프로세스, 스레드, 멀티 스레드, 가비지 컬렉션 (0) 2022.02.11