사용자 도구

사이트 도구


programming:문자

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
programming:문자 [2022/03/19 23:36]
kwon37xi
programming:문자 [2022/03/20 00:04] (현재)
kwon37xi
줄 6: 줄 6:
 ===== Charset 과 Char Encoding 의 차이는 무엇인가? ===== ===== Charset 과 Char Encoding 의 차이는 무엇인가? =====
   * 문자표(character set)과 문자 인코딩(Character Encoding)은 매우 혼란스럽게 쓰인다.   * 문자표(character set)과 문자 인코딩(Character Encoding)은 매우 혼란스럽게 쓰인다.
 +  * character set 은 세상에서 쓰이는 문자와 기호들의 목록일 뿐이며 이것들은 **Code Point**라고 불리우는 어떤 숫자값으로 매핑돼 있다.
 +  * encoding 은 code point 를 어떻게 byte 로 표현하느냐의 문제이다.
   * 유니코드는 (거의) 전 세계의 모든 문자에 번호를 부여한 문자표(Character Set) 이다.   * 유니코드는 (거의) 전 세계의 모든 문자에 번호를 부여한 문자표(Character Set) 이다.
   * 하지만 유니코드는 여러가지 인코딩(Character Encoding) 방식으로 표현될 수 있다. ''UTF-8'', ''UTF-16'', ''UTF-32'' 등.   * 하지만 유니코드는 여러가지 인코딩(Character Encoding) 방식으로 표현될 수 있다. ''UTF-8'', ''UTF-16'', ''UTF-32'' 등.
-  * [[https://oursmalljoy.com/charset-encoding/|문자셋과 인코딩의 차이점은 문자집합과 진법 맵핑 ⋆ Our Small Joy]] +  * 하나의 Unicode 문자(code point)를 ''UTF-8'', ''UTF-16'', ''UTF-32'' 는 서로 다른 byte 들로 표현한다. 
-  * 그렇다면 ''euc-kr''''cp949'' 등은 문자셋인가 인코딩인가? +  * see [[programming:unicode|Unicode]] 
-  * +  * **문제는 현재 아주 많은 분야에서 문자셋과 인코딩을 혼란스러워하고 있다. 대부분의 경우 ''charset''을 지정하라고 할 때 문자셋인 아닌 character encoding 을 지정해야 할 것다.** 
 + 
 +===== 과거의 한글 ''euc-kr'', ''cp949'' 등은 무엇인가? ===== 
 +  * ''euc-kr''과 ''cp949'' 등은 **encoding**이다. 
 +  * 2바이트 완성형 문자셋(한글 2,350글자만 가능)인 ''KS C 5601''(추후 ''KS X 1001'' 로 바뀜), ''KC C 5636''(추후 ''KS X 1003''으로 바뀜, KS C 5601과 거의 같으나 역슬래시가 원화 기호로만 대체된 버전)를 표현하는 방법이 ''euc-kr'' 인코딩이다. 
 +  * Microsoft가 독자적으로 제정한 문자집합 확장완성형(통합형 한글 코드, Unifide Hangul Code) 문자셋(현대 한글 모두 포함하고 있음)이 있고 이를 표현하는 방법인 ''cp949/ms949''가 인코딩이다.
  
 ===== 참조 ===== ===== 참조 =====
   * [[https://d2.naver.com/helloworld/19187|한글 인코딩의 이해 1편: 한글 인코딩의 역사와 유니코드]]   * [[https://d2.naver.com/helloworld/19187|한글 인코딩의 이해 1편: 한글 인코딩의 역사와 유니코드]]
   * [[https://d2.naver.com/helloworld/76650|한글 인코딩의 이해 2편: 유니코드와 Java를 이용한 한글 처리]]   * [[https://d2.naver.com/helloworld/76650|한글 인코딩의 이해 2편: 유니코드와 Java를 이용한 한글 처리]]
 +  * [[https://oursmalljoy.com/charset-encoding/|문자셋과 인코딩의 차이점은 문자집합과 이진법 맵핑 ⋆ Our Small Joy]]
programming/문자.1647700570.txt.gz · 마지막으로 수정됨: 2022/03/19 23:36 저자 kwon37xi