EUC-KR와 CP949 인코딩 (한글 인코딩)
IT2024. 2. 2. 21:50인코딩
컴퓨터는 숫자들의 조합을 이용하여 문자를 표현합니다. 다들 많이 알고있는 인코딩이 ASCII
(아스키)가 있고 영문자를 표현하기 위해 사용하는 대표적인 문자 인코딩이라고 할 수 있습니다.
인코딩은 사람이 인지할 수 있는 문자를 '약속된 규칙'에 따라 컴퓨터가 이해할 수 있는 0또는 1과 같이 코드로 변환해주는 작업을 말합니다. 여기서 약속된 규칙은 ASCII, EUC-KR, UTF-8, UTF-16 등 여러가지 인코딩 방식을 말합니다.
EUC-KR (한글 인코딩)
국가마다 독립적인 인코딩 방식을 가지고 있는데, 한국에서는 EUC-KR
이라는 인코딩 방식을 사용하고 있습니다. (한글을 표현할 때 사용하는 인코딩 방식 중 하나)
EUC-KR 특징
EUC-KR
은 한국어를 표현할때는 2Bytes
를 사용합니다. 그리고, 한국어 뿐만 아니라 숫자, 특수 기호, 영문, 한자, 일어 또한 정의되어 있습니다.
유니코드는 초성/중성/종성으로 나눠 조합하여 문자를 만듭니다. 반면에 아래 표와 같이 EUC-KR은 모든 글자가 완성된 형태로 존재하는 완성형 코드입니다.
Java에서는 getBytes()
메소드를 사용하여, EUC-KR 인코딩된 코드를 확인 할 수 있습니다.
public static void main(String[] args) throws UnsupportedEncodingException {
String greet = "안녕하세요";
byte[] greetBytes = greet.getBytes("euc-kr");
for(int i=0; i<greetBytes.length; i++) {
if(i != 0 && i % 2 == 0)
System.out.print(" ");
System.out.print(Integer.toHexString(greetBytes[i] & 0xff));
}
}
bec8 b3e7 c7cf bcbc bfe4
아까 EUC-KR은 2Bytes를 사용한다고 했는데, 결과값을 보면 각 글자당 2Bytes(16bits)
를 사용하는것을 확인 할 수 있습니다.
CP949
EUC-KR은 모든 문자를 표현할 수 있는 것은 아닌데, 이를 더 확장한 인코딩 방식이 CP949
가 있습니다. 즉 EUC-KR보다 더 많은 한글과 문자를 표현할 수 있습니다.
Window에서 개발을 하다보면 종종 cp949 인코딩 문제를 많이 겪게 됩니다. MS Window 운영체제의 경우는 프롬프트의 기본 인코딩이 CP949로 되어 있어서, 발생하는 문제입니다.
'IT' 카테고리의 다른 글
파이썬으로 RSI 계산하기 (업비트(Upbit) Open API 활용) (0) | 2024.03.04 |
---|---|
Kohya_ss를 이용하여 LoRA 트레이닝 (Stable Diffusion) (0) | 2024.02.12 |
MacOS에 쉽게 여러 버전의 JDK 관리하는 방법 (0) | 2024.01.01 |
macos에 nodejs 설치하기 (쉽게 node 버전 변경하기) (0) | 2023.11.17 |
업비트 Open API 신청하는 방법 가이드 (키 발급) (0) | 2023.10.31 |
IT 기술에 대한 글을 주로 작성하고, 일상 내용, 맛집/숙박/제품 리뷰 등 여러가지 주제를작성하는 블로그입니다. 티스토리 커스텀 스킨도 개발하고 있으니 관심있으신분은 Berry Skin을 검색바랍니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!