소프트웨어 엔지니어/일반

ASCII , UTF-8, UNICODE 란?

shroomie 2024. 8. 7. 20:30

ASCII (Ameracan Standard Code for Information Interchange)
이 말이 무엇이냐, 컴퓨터는 0 하고 1밖에 모르는데 이놈한테 a, b, c, d 이런거를 알아먹게 하려고 
대문자 A 는 65 (0100 0001) B 는 66 (0100 0010) 이렇게 약속한거야. 서로 약속이 되어 있으니 
ASCII 를 써서 영희가 작성한 문서 (인코딩)를 컴퓨터에 저장이 가능하고(인코딩된문자부호 저장) 또 이걸 철수의 컴퓨터에서 불러서 볼수(디코딩) 있게 된거지. 

근데 여기서 문제가 생기는데, 이름에서 알수 있듯이 Ameracan.... 이 말은 한글이고 한자고 다른언어는 표현할 수 없는거지.
그래서 등장한것이 UNICODE
ASCII 가 1 byte 즉 256가지표현가능한것을, UNICODE 에서는 2 byte 즉 65,536가지 표현으로 늘려서 한국, 중국, 일본등 전세계 언어를 담을수 있게 확장한거야.  하지만 항상 2 byte 를 사용하는 비효율(공간낭비) 가 있어서, 다시 보안해서 나온것이  UTF-8 포멧이야 (Unicode transformation format - 8) 

 

이름에서 알수있듯이 UTF-8 은 UNICODE 종류이지만, 공간이 2 byte 로 고정한것이 아닌 1~3 byte 가변이여서, 좀더 효율적(?) 으로 사용할수 있다. 정도 알면 될꺼 같아. 

여기서 중요한것!! 메모장이나 편집기(editor) 를 보면 저장할때 어떤 문자 포멧으로 저장하는지가 나오는데 만약 저장할때 UTF-8 로 저장하면 읽을때도, UTF-8 로 읽어야 정상적으로 보인다는거 이거만 기억해도 좋을듯.