상세 컨텐츠

본문 제목

[Java]문자형식(TextFormat) 이란?

개발

by GoblinMode 2023. 12. 30. 15:26

본문

728x90
반응형

컴퓨터를 사용하다보면 글자가 깨지는 모습을 볼수있습니다. 

 

글자는 왜 깨질가요? 이유는 생각보다 복잡? 간단 합니다.

 

이유는 문자형식이 맞지 않아서인데요. 문자형식이란 영어로는 TextFormat 이라는 것인데 이건 문자를 이루는 방식을

 

코드형식입니다. 

 

문자를 이루는 방식이란 컴퓨터는 0,1로 이루어진 데이터를 사용자에게 문자,그림,음악,영상 등으로 보여주는 기계입니다.

 

그러면 문자도 0,1 로만 이루어져있습니다. 0,1을 조합해 우리가 알고있는 문자로 보여줍니다. 

 

문자형식은 23.12.30기준 대표적으로 UTF-8을 사용합니다. 컴퓨터가 발달한 초기에는 아스키코드(ASCII) 사용하였는데

 

요. 지금은 사용할수있지 않습니다. 이유는 아스키코드는 한글자를 표현할때 2바이트를 가지고 표현합니다. 그래서 숫자,

 

영어,특수문자 밖이 표현을 하지 못합니다. 해서 한글등 다양한 언어를 표현하지 못하여, ISO 등을 거쳐 진화하여, 지금은 

 

UTF-8을 주로 사용하고있고, UTF-16도 배포되었습니다.

 

01
문자코드표

이미지 출처(https://en.wikipedia.org/wiki)

그림으로 설명해드리면 위에 그림을 보시면 0x0, 0x1 등이 보여집니다. A를 기준으로 보면 4x1코들 갖게됩니다. 사용자가 

 

문서작업을할때 문자형식(인코딩방식, Text Format)을 UTF-8로 설정하고 A를쓰면 컴퓨터는 4x1 이라는 코드로 받아들이

 

고 문서를 저장합니다. 그리고 아스키(asci)코드로 설정하여 A를쓰면 1000 001코드로 받아드립니다.

 

이렇게 문자형식에 따라 컴퓨터는 A를 4x1, 1000 001로 나뉘어져 인식하고있습니다.

 

UTF-8저장한 문서를 다른 문자형식으로 변환하게 되면 A를 찾지 못합니다. 해서 글자가 깨지고 이상한 글자가 보여지게 

 

되는것입니다. 

 

개발자들에 다른시스템과 통싱할때 글자가 깨지는 이유입니다. A시스템은 UTF-8, B시스템은 EUC_KR를 사용한다거나, 

 

그러면 사용자에가 엉뚱한 문자를 보여주게 됩니다. 그래서 개발초반에 서로 어떤형식에 문자형시을 사용할지 등 정하는

 

이유입니다. 

 

문자를 이루는 해당 방식을 어느정도 이해하고있습니다. 이런 문제가 발생하였을때 좀더 빠른 데처를 할수있습니다.

 

다들 문자형식(TextFormat)을 어느정도 이해하고 개발하여, 간단한 문제에 시간을 빼기지 않았으면 좋겠습니다.

728x90
반응형

관련글 더보기