C 언어, 현재 사용 중인 한글 코드를 검사하기
C 언어, 현재 사용 중인 한글 코드를 검사하기
글. 오상문 sualchi@daum.net
개발환경에서 어떤 한글 코드를 사용하는지 확인하는 C 프로그램입니다.
아래 코드에서 "가" 부분이 제대로 보이도록 입력하고 컴파일해서 실행합니다.
char gah[] = "가";
C 언어 소스 코드는 다음과 같습니다.
/*
Checking the Korean code Program
(현재 사용 중인 한글 코드를 검사하는 프로그램)
Windows 10 pro, DevCpp 5.11, C program
2018.07.14 by Sangmun Oh sualchi@daum.net
*/
#include <stdio.h>
#define UNICODE_LE_GA "\x00\xAC"
#define UNICODE_BE_GA "\xAC\x00"
#define UTF8_GA "\xEA\xB0\x80"
#define ANSI_GA "\xB0\xA1"
int main( )
{
char gah[] = "가"; // String value is Hangul 'Ga'
// Change it to look like a Hangul 'Ga'
unsigned short code;
code = (unsigned short)gah[0]&0xFF;
code <<= 8;
code += (unsigned short)gah[1]&0xFF;
// printf("가: 0x%X, 0x%X\n",
// (unsigned int)gah[0]&0xFF, (unsigned int)gah[1]&0xFF);
// printf("가: 0x%X\n", code);
printf("사용 중인 한글 코드: ");
if(code == 0xB0A1)
printf("CP949 (or MS949, ANSI, EUC_KR, KS5601)\n");
else if(code == 0xEAB0)
printf("utf-8 (Unicode)\n");
else if(code == 0xAC00)
printf("utf-16 (Unicode-LittleEndian)\n");
else if(code == 0x00AC)
printf("utf-16 (Unicode-BigEndian)\n");
else if(code == 0x1100)
printf("utf-32 (Unicode)\n");
else
printf("Unknown type\n");
return 0;
}
[결과 화면] 제가 사용 중인 DevCpp 환경에서 CP949 코드를 사용하고 있네요.