너무 오랜만에 쓰는 블로그라.. 간단하게 쓰고 ㅌㅌ 해야지
예전부터 한번쯤 되새겨보고 싶었던 인코딩과 ~ 인코딩 방식!
인코딩이란?
먼저 위키백과의 사전적 의미를 보자면
부호화(符號化)나 인코딩(encoding)은 정보의 형태나 형식을 변환하는 처리나 처리 방식이다.
문자 인코딩(文字-, 영어: character encoding)은 문자들의 집합을 부호화하는 방법이다.
이런 사전적 의미가 있고, 즉 컴퓨터가 이해할 수 있는 형식으로 바꾸어 주는것을 뜻한다.
인코딩 된 문자는 다시 디코딩하여 원래의 문자나 기호로 표현이 가능하다!
그렇다면 인코딩의 종류는 어떤것들이 있는가 ~?
ASCII 영문 알파벳과 숫자 문자를 표현하는 대표적인 문자 인코딩이다
아스키는 7bit 인코딩으로, 0~127(128개)의 문자와 숫자 영문 표기가 가능하다. (1비트는 패리티비트)
출처 : 이재욱님이 만든 ASCII Table
다음은 유니코드 협회에서 만든 유니코드!
사전적 의미는 : 유니코드(Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이며, 유니코드 협회(Unicode Consortium)가 제정한다. 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자들을 다루기 위한 알고리즘 등을 포함하고 있다.
즉, 전세계 언어의 문자들을 표현하기 위하여 국제 표준코드표가 생긴것이다.
유니코드와 아스키에 대해 정말 잘 적어주신
https://whatisthenext.tistory.com/103
를 참고하고, 유니코드는 4byte 크기의 표준문자표 이고, 엄청나게 많은 문자와 숫자를 표현할 수 있다.
(U+ 라는 접두어가 있으면 유니코드라는 의미)
이를 각 구역마다 나누어 UTF-7, UTF-8, UTF-16BE, UTF-16LE 등 가변 인코딩 방식이 있다.
UTF-8 : 문자열을 8bit 기반으로 저장하며, 영어는 1byte, 한글은 3byte로 가변 인코딩 방식이다.
UTF-16 : 한글과 영문 모두 2byte 로 저장하지만 그이상 표현 할 수 없는 문자는 특별한 조합으로 4byte 로 저장하기때문에
UTF-16 또한 가변 인코딩 방식이다.
EUC-KR, MS949, CP949
모두 한글표기를 위한 인코딩 방식이다. 2byte로 인코딩하며, CP949 는 EUC-KR의 확장형이며,
이를 MS에서 개선하여 윈도우의 기본 인코딩방식은 MS949 이다. (모든 완성형 한글표기 가능. 꿹쀍뚫)
base64 참고주소 중 맨 아래 참고
참고 :
* https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C
* https://studyforus.tistory.com/167
* https://nuli.navercorp.com/sharing/blog/post/1079940
* https://effectivesquid.tistory.com/entry/Base64-%EC%9D%B8%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80
'백앤드 이야기 > JAVA&Spring' 카테고리의 다른 글
[Spring] spring profile 및 logback-spring.xml 을 이용한 log 관리 (0) | 2019.10.21 |
---|---|
[JAVA] 자바 비대칭키, 대칭키 암호화 하기 (0) | 2019.09.16 |
[JAVA] 하드디스크 드라이브 용량 확인 (0) | 2019.08.05 |
[JAVA] Paging 모델 및 소스 (Mybatis) (0) | 2019.07.07 |
[JAVA] 높은 응집도와 낮은 결합도 (0) | 2019.07.04 |
댓글