ANSI

ANSI “ANSI 인코딩"이라는 용어는 실제로 약간의 혼란을 불러일으키는 명칭이다. 엄밀히 말하면, ANSI(American National Standards Institute)는 표준을 개발하고 승인하는 미국 비영리 조직의 이름이지, 특정 문자 인코딩이 아니다. 그러나 이 용어는 일반적으로 Windows 운영 체제에서 사용되는 특정 8비트 코드 페이지 집합을 지칭한다. 실제로 “ANSI 인코딩"이라고 불리는 것은 다음과 같다: Windows 코드 페이지: Windows에서 기본 8비트 문자 세트로 사용되는 인코딩 ISO-8859 계열의 확장: ASCII의 7비트를 8비트로 확장한 다양한 문자 세트 로컬 시스템의 기본 인코딩: Windows의 지역 설정에 따라 달라지는 인코딩 이러한 혼란은 Windows가 등장한 초기에 마이크로소프트가 당시 발전 중이던 ANSI 표준을 기반으로 문자 세트를 개발했기 때문에 발생했다. 그러나 이 문자 세트들은 결국 정식 ANSI 표준으로 채택되지 않았으나, 이름은 그대로 남게 되었다. ...

January 24, 2025 · 5 min · Me

CP949

CP949 CP949(Code Page 949)는 한국어 문자를 표현하기 위해 마이크로소프트가 개발한 문자 인코딩이다. 한국어 환경에서 오랫동안 사용되어 온 이 인코딩은 현대 소프트웨어 개발에서도 여전히 중요한 역할을 하고 있다. CP949는 한국어 컴퓨팅 역사에서 중요한 역할을 했으며, 여전히 많은 레거시 시스템과 Windows 환경에서 사용되고 있다. 모든 한글 조합을 지원하기 위해 EUC-KR을 확장한 이 인코딩은 2바이트 멀티바이트 구조를 사용하여 한글을 효율적으로 표현한다. 현대 IT 개발 환경에서는 국제화, 표준화, 호환성 등의 이유로 UTF-8이 권장되지만, CP949에 대한 이해는 다음과 같은 상황에서 여전히 중요하다: ...

January 24, 2025 · 9 min · Me

EUC-KR

EUC-KR EUC-KR은 한국어 컴퓨팅 발전 과정에서 중요한 역할을 했으며, 특히 인터넷 초기에 한국어 웹 페이지와 시스템에서 널리 사용되었다. 그러나 현대 소프트웨어 개발에서는 UTF-8이 표준이 되었으며, EUC-KR은 주로 레거시 시스템이나 특수한 상황에서만 사용된다. EUC-KR의 기본 개념과 역사적 배경 EUC-KR은 한국어 텍스트를 컴퓨터에서 표현하기 위해 개발된 문자 인코딩 방식이다. 여기서 ‘EUC’는 ‘Extended Unix Code’의 약자로, 유닉스 시스템에서 다양한 언어를 지원하기 위한 확장 인코딩 체계를 의미한다. ‘KR’은 단순히 Korea(한국)를 뜻한다. 역사적 발전 과정 EUC-KR의 역사는 한국의 컴퓨터화와 직접적으로 연결되어 있다: ...

January 24, 2025 · 8 min · Me

YAML vs. JSON vs. XML

YAML vs. JSON vs. XML 데이터 교환과 구성 파일 형식으로 YAML, JSON, XML은 현대 소프트웨어 개발에서 가장 널리 사용되는 세 가지 형식이다. 개요 및 역사 YAML (YAML Ain’t Markup Language) YAML은 2001년에 클라크 에반스(Clark Evans), 이니 넷(Ingy döt Net), 오렌 벤-코바(Oren Ben-Koki)에 의해 개발되었다. 원래는 “Yet Another Markup Language"의 약자였으나, 후에 “YAML Ain’t Markup Language"라는 재귀적 약자로 변경되었다. YAML은 인간 친화적인 구문과 읽기 쉬운 형식에 중점을 둔 데이터 직렬화 형식이다. ...

October 26, 2024 · 7 min · Me

Serialization and Deserialization

Serialization and Deserialization 직렬화(Serialization)와 역직렬화(Deserialization)는 객체 지향 프로그래밍, 데이터 저장, 네트워크 통신 등 다양한 분야에서 핵심적인 역할을 한다. 직렬화와 역직렬화의 개념 직렬화(Serialization)는 데이터 구조나 객체 상태를 저장하거나 전송할 수 있는 형식으로 변환하는 과정이다. 이 과정에서 객체의 상태는 바이트 스트림이나 텍스트 형식(예: JSON, XML)으로 변환된다. 직렬화는 복잡한 데이터 구조를 선형적인(linear) 형태로 “펼치는” 작업이라고 볼 수 있다. 역직렬화(Deserialization)는 직렬화의 반대 과정으로, 저장되거나 전송된 바이트 스트림이나 텍스트를 원래의 객체 구조로 다시 변환하는 작업이다. 이 과정을 통해 저장된 데이터를 애플리케이션에서 다시 사용할 수 있게 된다. ...

October 26, 2024 · 7 min · Me