문자 인코딩
문자 인코딩이란 사람이 사용하는 문자를 컴퓨터가 읽을 수 있는 언어인 바이트코드로 바꾸는 것이다.
그런데, 문자를 바이트코드로 변환하는 공통적인 기준이 있어야 하지 않을까? A 컴퓨터를 사용하는 A양과, B 컴퓨터를 사용하는 B양이 ‘Hello!’이라는 문자를 주고 받고 싶을 때, A 컴퓨터와 B 컴퓨터가 H는 이진수로 1001000 , e는 1100101 … 이라는 사실을 약속해야 문자를 잘 주고 받을 수 있을 것이기 때문이다.
그래서 초기에 미국에서 정립되어 사용되었던 것이 그 유명한 아스키 코드, American Standard Code for Information Interchange 이다.
아스키 코드는 알파벳 A는 숫자로 65, B는 66… 을 정의하여 문자를 주고받기에 용이했다.
덕분에, 영어를 컴퓨터 언어(바이트 코드)로, 컴퓨터 언어를 영어로 바꿀 수 있게 되어 컴퓨터를 이용한 문자 소통이 원활해졌다.
점차 컴퓨터 간에 문자를 주고 받을 때 아스키 코드를 표준으로 사용하면서 평화가 찾아왔다. 이후 인터넷이 더욱 널리 퍼지기 시작하였다.
그런데 기존에 문자를 표현하던 방식인 아스키 코드는 알파벳을 표현하는 것이었기에, 알파벳이 아닌 다른 글자(언어)를 사용하는 국가에서 동일하게 아스키 코드를 사용하기에는 문제가 있었다. 알파벳은 1바이트로 표현 가능한데, 한글과 같은 언어는 1바이트로 표현이 불가능했기 때문이다.
한글은 2바이트로 표현이 가능했기에, 2바이트로 첨에는 쓰다가... 2바이트로 문자를 표현할 수 없는 국가와 통신 시 문자가 깨지는 문제가 발생했다. 그래서 전 세계 문자를 통합적으로 표현하는 표준인 4바이트 유니코드를 사용하게 되었다는 이야기이다.
문자 디코딩
인코딩과 반대로, 바이트 코드를 사람이 읽을 수 있는 문자로 바꾸는 것을 말한다.
reference
'여러가지 모르는 지식들' 카테고리의 다른 글
aws 용어 정리 (0) | 2024.03.28 |
---|---|
starUML column 안보이는 경우 (0) | 2023.10.31 |
멀티쓰레드 (0) | 2023.08.26 |
intellij 단축키 (0) | 2023.07.25 |