ANSI 및 유니 코드와 같은 문자 인코딩은 무엇이며 어떻게 다른가요?

0
565

배너

ASCII, UTF-8, ISO-8859…이 이상한 모니 커가 떠 다니는 것을 보았을 수도 있지만 실제로는 무엇을 의미합니까? 문자 인코딩이 무엇인지, 그리고이 두문자어가 화면에 보이는 평문과 어떻게 관련되는지 설명하면서 계속 읽으십시오.

기본 빌딩 블록

우리가 필기 언어에 관해 이야기 할 때, 우리는 글자가 단어의 빌딩 블록이되어 문장, 단락 등을 만드는 것에 대해 이야기합니다. 문자는 소리를 나타내는 기호입니다. 언어에 대해 이야기 할 때, 어떤 의미를 형성하기 위해 모이는 소리 그룹에 대해 이야기하고 있습니다. 각 언어 시스템에는 이러한 의미를 제어하는 ​​복잡한 규칙 및 정의 세트가 있습니다. 단어가 있다면 어떤 언어를 사용하는지 알지 못하고 해당 언어를 사용하는 다른 사람들과 함께 사용하지 않는 한 쓸모가 없습니다.

Tulu_script

(Grantha, Tulu 및 Malayalam 대본 비교, Wikipedia의 이미지)

컴퓨터 세계에서는“문자”라는 용어를 사용합니다. 문자는 특정 매개 변수로 정의 된 일종의 추상적 인 개념이지만 기본 의미 단위입니다. 라틴어‘A’는 그리스어‘알파’또는 아라비아어‘알 리프’와 다릅니다. 문맥이 다르고 언어가 다르고 발음이 약간 다르기 때문에 문자가 다르다고 말할 수 있습니다. 문자의 시각적 표현을 “글리프”라고하며 다른 글리프 세트를 글꼴이라고합니다. 문자 그룹은 “세트”또는 “레퍼토리”에 속합니다.

단락을 입력하고 글꼴을 변경할 때 글자의 발음 값을 변경하지 않고 글자 모양을 변경합니다. 그것은 단지 미용 적이지만 중요하지는 않습니다. 고대 이집트와 중국과 같은 일부 언어에는 표의 문자가 있습니다. 이들은 소리가 아닌 전체 아이디어를 나타내며, 발음은 시간과 거리에 따라 달라질 수 있습니다. 한 캐릭터를 다른 캐릭터로 대체하면 아이디어를 대체하는 것입니다. 글자를 바꾸는 것 이상으로 표의 문자를 바꾸는 것입니다.

문자 인코딩

500px-International_Morse_Code

(위키 백과의 이미지)

키보드로 무언가를 입력하거나 파일을로드 할 때 컴퓨터는 무엇을 표시할지 어떻게 알 수 있습니까? 이것이 문자 인코딩의 목적입니다. 컴퓨터의 텍스트는 실제로 문자가 아니며 일련의 짝을 이루는 영숫자 값입니다. 문자 인코딩은 문자가 어떤 문자에 해당하는 소리인지를 직교 법이 결정하는 것과 마찬가지로 값이 어떤 문자에 해당하는 키 역할을합니다. 모스 부호는 일종의 문자 인코딩입니다. 경고음과 같은 길고 짧은 단위 그룹이 문자를 나타내는 방법을 설명합니다. 모스 부호에서 문자는 영어 문자, 숫자 및 마침표입니다. 문자, 숫자, 악센트 부호, 문장 부호, 국제 기호 등으로 변환되는 많은 컴퓨터 문자 인코딩이 있습니다.

이 주제에서는 종종 “코드 페이지”라는 용어도 사용됩니다. 본질적으로 특정 회사에서 사용하는 문자 인코딩이며 약간 수정됩니다. 예를 들어 Windows 1252 코드 페이지 (이전의 ANSI 1252)는 ISO-8859-1의 수정 된 형식입니다. 이들은 주로 동일한 시스템에 특정한 표준 및 수정 된 문자 인코딩을 나타내는 내부 시스템으로 사용됩니다. 초기에는 컴퓨터가 서로 통신하지 않았기 때문에 문자 인코딩은 그다지 중요하지 않았습니다. 인터넷이 유명 해지고 네트워킹이 일반화되면서 일상 생활의 중요성이 점점 커지고 있습니다.

많은 다른 유형

특수 문자

(sarah sosiak의 이미지)

다양한 문자 인코딩이 있으며 그 이유는 다양합니다. 사용하기로 선택한 문자 인코딩은 요구 사항에 따라 다릅니다. 러시아어로 의사 소통하는 경우 키릴 자모를 잘 지원하는 문자 인코딩을 사용하는 것이 좋습니다. 한국어로 의사 소통을하면 한글과 한자를 잘 나타내는 것이 필요합니다. 수학자라면 그리스어 및 라틴 문자뿐만 아니라 모든 과학 및 수학 기호가 잘 표현 된 것을 원합니다. 장난 꾸러기라면 거꾸로 된 텍스트를 사용하면 도움이 될 것입니다. 또한 특정 유형의 문서를 모든 사람이 볼 수 있도록하려면 일반적이고 쉽게 액세스 할 수있는 인코딩을 원합니다.

가장 일반적인 몇 가지를 살펴 보겠습니다.

ascii

(ASCII 표 발췌, asciitable.com의 이미지)

  • ASCII – 미국 정보 교환 표준 코드는 이전 문자 인코딩 중 하나입니다. 원래는 전신 코드를 기반으로 고안되었으며 시간이 지남에 따라 더 많은 기호와 현재 인쇄되지 않은 일부 인쇄 제어 문자를 포함하도록 발전했습니다. 현대 시스템의 관점에서 볼 때 가장 기본적 일 것입니다. 악센트 부호가없는 라틴 알파벳으로 제한되어 있기 때문입니다. 7 비트 인코딩은 128 자만 허용하므로 전 세계적으로 여러 가지 비공식 변형이 사용됩니다.
  • ISO-8859 – 국제 표준화기구 (International Organization for Standardization)에서 가장 널리 사용되는 문자 인코딩 그룹은 8859입니다. 각 특정 인코딩은 숫자로 지정되며, 종종 설명 모니 커 (예 : ISO-8859-3 (라틴 -3), ISO-8859-6 (라틴 / 아랍어). ASCII의 상위 집합으로, 인코딩의 처음 128 개 값이 ASCII와 동일하다는 것을 의미합니다. 그러나 8 비트이며 256자를 허용하므로 여기에서 시작하여 훨씬 광범위한 문자를 포함하며 각 특정 인코딩은 서로 다른 기준 세트에 초점을 둡니다. 라틴 -1은 악센트 부호가있는 문자와 기호를 포함했지만 나중에 유로 기호와 같은 업데이트 된 글리프가 포함 된 라틴 -9라는 수정 된 세트로 대체되었습니다.

티베트 문자

(unicode.org의 티베트어 스크립트, 유니 코드 v4 발췌)

  • 유니 코드 –이 인코딩 표준은 보편성을 목표로합니다. 그것은 현재 여러 블록으로 구성된 93 개의 스크립트를 포함하고 있으며, 더 많은 것들이 있습니다. 유니 코드는 글리프를 직접 코딩하는 대신 각 값이 “코드 포인트”로 추가된다는 점에서 다른 문자 집합과 다르게 작동합니다. 이는 문자에 해당하는 16 진수 값이지만 글리프 자체는 프로그램에 의해 분리 된 방식으로 제공됩니다. 웹 브라우저와 같은 이러한 코드 포인트는 일반적으로 다음과 같이 표시됩니다. U + 0040 ( '@'로 번역). 유니 코드 표준에 따른 특정 인코딩은 UTF-8 및 UTF-16입니다. UTF-8은 ASCII와의 최대 호환성을 허용하려고합니다. 8 비트이지만 대체 메커니즘과 문자 당 여러 쌍의 값을 통해 모든 문자를 허용합니다. UTF-16은 표준과의 완전한 16 비트 호환성을 위해 완벽한 ASCII 호환성을 제공합니다.
  • ISO-10646 – 이것은 실제 인코딩이 아니며 ISO에서 표준화 한 유니 코드 문자 세트 일뿐입니다. HTML에서 사용하는 문자 레퍼토리이기 때문에 가장 중요합니다. 데이터 정렬 및 왼쪽에서 오른쪽 스크립팅과 함께 오른쪽에서 왼쪽으로 사용할 수있는 유니 코드에서 제공하는 고급 기능 중 일부가 누락되었습니다. 여전히 다양한 스크립트를 사용할 수 있고 브라우저가 글리프를 해석 할 수 있기 때문에 인터넷에서 매우 잘 작동합니다. 따라서 현지화가 다소 쉬워집니다.

어떤 인코딩을 사용해야합니까?

ASCII는 대부분의 영어 사용자를 위해 작동하지만 다른 많은 사람들에게는 작동하지 않습니다. 대부분의 서유럽 언어에서 작동하는 ISO-8859-1이 더 자주 나타납니다. 다른 버전의 ISO-8859는 키릴 자모, 아랍어, 그리스어 또는 기타 특정 스크립트에서 작동합니다. 그러나 동일한 문서 나 동일한 웹 페이지에 여러 스크립트를 표시하려는 경우 UTF-8을 사용하면 호환성이 훨씬 향상됩니다. 또한 적절한 문장 부호, 수학 기호 또는 사각형 및 확인란과 같은 커프스가 아닌 문자를 사용하는 사람들에게 매우 효과적입니다.

구자라트 사마 차

(하나의 문서에서 여러 언어, gujaratsamachar.com의 스크린 샷)

그러나 각 세트에는 단점이 있습니다. ASCII는 문장 부호로 제한되어 있기 때문에 인쇄상의 올바른 수정에는 매우 효과적이지 않습니다. 글리프의 이상한 조합을 위해 Word에서만 복사 / 붙여 넣기를 입력 한 적이 있습니까? 그것은 OS- 특정 코드 페이지와의 상호 운용성을 고려한 ISO-8859의 단점이거나 더 정확하게는 단점입니다 (우리는 여러분을보고 있습니다). UTF-8의 주요 단점은 응용 프로그램 편집 및 게시에 대한 적절한 지원이 부족하다는 것입니다. 또 다른 문제점은 브라우저가 종종 UTF-8로 인코딩 된 문자의 바이트 순서 표시를 해석하지 않고 표시 만한다는 것입니다. 이로 인해 원치 않는 글리프가 표시됩니다. 물론 웹 페이지에서 올바르게 선언 / 참조하지 않고 하나의 인코딩을 선언하고 다른 인코딩을 사용하여 문자를 사용하면 브라우저에서 올바르게 렌더링하고 검색 엔진이 적절하게 색인을 생성하기가 어렵습니다.

자신의 문서, 원고 등을 위해 작업을 수행하는 데 필요한 모든 것을 사용할 수 있습니다. 그러나 웹이 진행되는 한 대부분의 사람들은 바이트 순서 표시를 사용하지 않는 UTF-8 버전을 사용하는 데 동의하지만 완전히 만장일치가 아닙니다. 보시다시피, 각 문자 인코딩에는 고유 한 용도, 컨텍스트 및 강점과 약점이 있습니다. 최종 사용자는이 문제를 해결하지 않아도되지만 이제 원하는 경우 추가 조치를 취할 수 있습니다.