본문 바로가기

IT/Introduction to Computer Science

문서 파일이 깨지는 / 한글이 깨지는 이유?

반응형

문서 파일이 깨지는 / 한글이 깨지는 이유?


_h靈B d? P죐? 3휪뛇?? ∧? ?? ?u¬꺢 ?漂C @ C h ? |? 夭   꺞 ?謄C 漂C 딲?? Y뗥]촌儆儆?뗭jh靈B d? P죐? 3휪뛇?? ?? ?? ?u¬꺢 ? ? $ C h曹B ?? ?   꺞 ?히C ? 딲?? Y뗥]촌儆儆?뗭jh휖 d? P죐? 3휪뛇?? ∧? ?? ?u¬꺢 ?漂C @ C h ? |? ?   꺞 ?岐C 漂C 딲?? Y뗥]촌儆儆?뗭딲 끟u 3?횄?3菱u;햟 ??  츼€}  t,괊   r$뛃#;햢?療4 Y뗁끟u ?m  뛃#꺺?H?홖矮4 Y끐t?홛뗭꺢딲3菱u ;? ?m   츼 괊   r 딢 ?u?H???햪?r??v 聿딲 Q渦4 Y]홭 h릭C 了?9t V뛯 f?꺜 f;햡??罫?떶]홛뗭딢 끐u 딢 ]?픐uu ?8  꺞]홛뗭딢 끐u 딢 ]?픐uu 曰¬  꺞]홛뗭딢 €8 u 3?횒P ?@꽿u??홛뗭곸$  죐? 3흭E??? 뛿腋V뗲P돲省 <? h 뷖  D? P 톭氈P 톭入P 톭游P 톭艶Ph닎C h?D h젘C 뛿招h   P琓?꺞,뛿招뗈P壅  딲????? 뗥]홛뗭곸   죐? 3흭E?μ? 뛿招VW?  뗲WPj 돲縱 $? 끐u h 뷖 뗈?  딲??3??? 뗥]????   s 3?뎹 招뛿招P淪?? ?? 툤텯 ?? 뗲3뛏?}澮a3?U?뜊 h 뷖 ?澮? Yht봀 뗊힒?뜊 ? Yh뷖 뗊힒?뜊8? YV뗊힒?뜊P? Yh 뷖 뗊힒?뛏쇠 YWS뜊P療  WS뜊8尿  WS뜊 巍  WS뜊 頑  j@뛿|?▒▒D WP?;  꺞 

뜒h??뛏?W핈E?CM펱}?R CE?븑RWWWW  꿫WWQP H? 끐t 탅? ? ?킾?S뛏쇠[  WS뛏逗Q  ?? 첩?@ 홛뗭껋 죐? 3흭E?y  S? 

VW? r ?3픐Pj Pj h @Q (? 뗱껥u  8? ? ,? 덭?픐P덭?E?j V?? D? PW ?D V  ? 3핆M?^3??? 뗥]홭 맷텯 蛙? ??D 땥 u 3잼}?? D? Pj h    4? 3덭?끐tM뛏陌짐긡? 뛏?u逗#YYu??  ? 낔u €=? D t 괎?껧t 뛏陌?j W뛏陌3  꺢괎?껧 D?험劈 ? j h8콯 ?  긡? ??뷖 h條C 뛇?豌/  힒? 딢?E?u峰(횏e完E淆h>  ?c  ?뗭곸 

  죐? 3흭E?h   뛿招j P?9  꺞 

뛿招?  VP 0? 끐t&h8뷖 뛿招VP?c  꺞 



우선 문자 코드와 문자 인코딩에 대한 이해가 필요하다


문자 코드 (Character Code) 란?


문자 코드는 문자 하나와 숫자 하나를 대응(짝지어) 해놓은 것이다


문자 인코딩 (Character Encoding) 이란?


정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식


줄여서 인코딩(Encoding)이라 부르며  문자나 기호들의 집합을 컴퓨터에서 저장하거나 통신에 사용할 목적으로 부호화하는 방법


문자 인코딩을 통해 부호화되어, 복호화하면 본래의 문자나 기호를 뜻하게 되는 부호를 문자 코드(文字―, 영어: character code)라고 함


문자 집합은 ASCII와 같이 더 이상의 문자가 추가될 수 없기도 하고, 유니코드와 같이 문자가 계속 추가될 수 있기도 함


참조

https://namu.wiki/w/%EC%9D%B8%EC%BD%94%EB%94%A9

https://ko.wikipedia.org/wiki/%EB%AC%B8%EC%9E%90_%EC%9D%B8%EC%BD%94%EB%94%A9

 

웹페이지의 문자들은 2진수의 숫자들로 저장되는데 이것을 문자를 읽어들이는 방식에 맞게 해석하는 방식이라고 할 수 있다

->EUC-KR이나 UTF-8같은 것들이 문서를 해석하는 방식이라고 할 수 있다


문서가 깨진다 파일이 깨진다의 의미


인코딩은 코드를 해석하다는 의미인데, 대부분의 경우 문서를 작성할 때 작성하는 쪽의 인코딩 방식(문자 해석 방식)과 읽어들이는 쪽의 인코딩 방식이 다를 경우 글자가 제대로 보이지 않는 경우가 생긴다

 

문자가 깨지는 여러 이유

  

다른 인코딩으로 읽었을 경우

 

텍스트 작성에 쓰인 문자 인코딩과 텍스트를 열 때의 문자 인코딩이 다른 경우 글자가 깨져서 보일 수 있다


A형식으로 저장된 문자를 B형식으로 해석(인코딩)하려고 하면 문제가 생기는 것(=.hwp 파일을 MS워드에서 열 수 없는 것과 비슷)

->대부분의 경우이다


서로 다른 유니코드 정규화 방식에 따라 한글의 초성/중성/종성이 분리되어 보일 수 있다

 

정보 자체가 손실된 경우


텍스트 저장 과정에서 예로 UTF-8로 문서를 저장할 때 문서 저장 과정에서 문제가 생겨 일부 텍스트가 변경되는 경우


혹은 해당 문자 인코딩이 처리할 수 없는 문자를 넣고 저장한 경우 예로 일본어 문자 해석방법(인코딩)인 상태로 

한국어를 중간에 넣어서 저장할 경우 다른 컴퓨터에서 인코딩(해석)시 문자가 ? 등으로 대체될 수 있다

 

문자를 표시해 줄 글꼴이 없는 경우


문자 자체는 손실 없이 그대로 보존됐으나 읽어들인 컴퓨터에서 해당 문자를 지원하는 글꼴/인코딩이 없어서 올바르게 보여주지 못하는 경우

 

참고

1. 각국마다 자국에 맞는 완성형 문자셋들이 있는데(미국은 ASCII / 한국은 EUC-KR / 일본은 EUC-JP)


이러한 문자들을 모두 지원하는 다국어 문자셋으로 유니코드가 탄생되었으며 이런 유니코드를 표현하고 해석하기 위해 만든 방식이 UTF-8이다


ASCII(128개 문자) -> EUC-KR(128개 문자 + 한글[완성형]) -> UTF-8(128개 문자 + 한글[완성형] + 유니코드 문자)


2. “%EC%8A%AC”과 같은 문자가 있는데 주로 웹페이지의 주소(URL)에서 볼 수 있다

-> “URL인코딩” 또는 “퍼센트 인코딩”이라고 한다

  

URL인코딩된 문자는 http://www.url-encode-decode.com/ 와 같은 사이트에 방문하여 해석이 어려운 문자를 입력한 후

하단의 “Decode”버튼을 누르면 문자열이 해석되어 나타나게 된다


참조

https://namu.wiki/w/%EB%AC%B8%EC%9E%90%20%EA%B9%A8%EC%A7%90

반응형

'IT > Introduction to Computer Science' 카테고리의 다른 글

UML 이란?  (0) 2017.11.08
DLL 이란?  (0) 2017.11.08
웹 개발자 로드맵  (0) 2017.10.27
IT 용어 이해!  (0) 2017.09.17