ShovelingLife
A Game Programmer
ShovelingLife
전체 방문자
오늘
어제
  • 분류 전체보기 (1072)
    • 그래픽스 (57)
      • 공통 (19)
      • 수학 물리 (22)
      • OpenGL & Vulkan (1)
      • DirectX (14)
    • 게임엔진 (183)
      • Unreal (69)
      • Unity (103)
      • Cocos2D-X (3)
      • 개인 플젝 (8)
    • 코딩테스트 (221)
      • 공통 (7)
      • 프로그래머스 (22)
      • 백준 (162)
      • LeetCode (19)
      • HackerRank (2)
      • 코딩테스트 알고리즘 (8)
    • CS (235)
      • 공통 (21)
      • 네트워크 (44)
      • OS & 하드웨어 (55)
      • 자료구조 & 알고리즘 (98)
      • 디자인패턴 (6)
      • UML (4)
      • 데이터베이스 (7)
    • 프로그래밍 언어 (348)
      • C++ (167)
      • C# (90)
      • Java (9)
      • Python (33)
      • SQL (30)
      • JavaScript (8)
      • React (7)
    • 그 외 (9)
      • Math (5)
      • 일상 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Source Code 좌측 상단에 복사 버튼 추가 완료
  • 언리얼 엔진 C++ 빌드시간 단축 꿀팁
  • 게임 업계 코딩테스트 관련
  • 1인칭 시점으로 써내려가는 글들

인기 글

태그

  • C
  • 유니티
  • 프로그래머스
  • 알고리즘
  • 파이썬
  • 그래픽스
  • 언리얼
  • 문자열
  • 함수
  • SQL
  • 오블완
  • Unity
  • 배열
  • 클래스
  • 백준
  • 포인터
  • string
  • 티스토리챌린지
  • c#
  • C++

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShovelingLife

A Game Programmer

CS/OS & 하드웨어

아스키코드, 유니코드, UTF-8의 차이

2023. 9. 10. 17:30

인코딩 : 문자를 어떻게 출력할지에 대한 약속

 

숫자를 문자로 바꿈

예를 들어, 메모장에 A라고 친 다음 저장하면 실제로 하드디스크에 기록되는 정보는

65라는 숫자값.

 

A -> 65라고 저장하도록 만들어놨기 때문에

 

가장 처음 만들어진 인코딩이 ASCII코드

 

아스키코드 : 128개의 문자조합을 제공하는 7비트 부호

아스키코드만으로는 각 나라별 언어를 표현할 수 없다. 이를 해결한 코드가 유니코드

 

알파벳, 숫자, 특수기호, 그 외 컴퓨터에 필요한 몇 가지만이 정의되어 있어서

점차 여러 나라에서 컴퓨터를 사용하게 되고 통신이 발달하다보니 기존의 아스키 인코딩보다

더 많은 문자들을 정의한 새로운 인코딩이 필요해짐

 

유니코드(Unicode) : 각 나라별 언어를 모두 표현하기 위해 나온 코드 체계가 유니코드

숫자와 글자, 즉 키 값이 1:1로 매핑된 형태의 코드

 

사용중인 운영체제, 프로그램, 언어에 관계 없이 문자마다 고유한 코드 값을 제공하는 새로운 개념의 코드

16비트를 표현하므로 최대 65,536자 표현 가능

 

영문/숫자/한글/한자 등 모든 글자는 이론적으로 2바이트

아주 희귀한 문자들은 2바이트를 초과할 수도 있다

 

UTF-8은 유니코드가 파일에 저장될 때 영문/숫자는 아스키코드와 똑같이 1바이트 사용

한글 등은 3바이트로 파일에 저장

 

UTF-8 (가변길이 인코딩) : 유니코드를 사용하는 인코딩 방식 중 하나

영문/숫자/기호는 1바이트로, 한글/한자는 3바이트로 표현

전세계 모든 글자들을 한꺼번에 표현할 수 있다

 

UTF-8 유니코드는 아스키 코드와 영문 영역에서는 100% 호환

 

만약, UTF-8 유니코드 문서에 한글 등이 전혀 없고 영문과 숫자로 이루어져 있다면 그 카드는 아스키코드와 동일

 

전 세계의 모든 언어를 하나의 파일에 쓸 수 있다

 

유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나

유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지 사용

 

 

아스키코드, 유니코드, UTF-8의 차이 (tistory.com)

저작자표시 (새창열림)

'CS > OS & 하드웨어' 카테고리의 다른 글

아스키코드(ASCII Code) - 컴퓨터의 문자 처리 원리  (0) 2023.10.08
프로그래밍 언어와 빌드 과정 [Build Process]  (0) 2023.09.23
메모리 (RAM) 구조  (0) 2023.08.28
Virtual Memory - 가상 메모리 ( 필요한 이유 )  (0) 2023.08.24
Memory Allocation (논리 메모리, 물리 메모리, Dynamic Loading, Paging이 나온 이유 )  (0) 2023.08.24
    'CS/OS & 하드웨어' 카테고리의 다른 글
    • 아스키코드(ASCII Code) - 컴퓨터의 문자 처리 원리
    • 프로그래밍 언어와 빌드 과정 [Build Process]
    • 메모리 (RAM) 구조
    • Virtual Memory - 가상 메모리 ( 필요한 이유 )
    ShovelingLife
    ShovelingLife
    Main skill stack => Unity C# / Unreal C++ Studying Front / BackEnd, Java Python

    티스토리툴바