ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <?xml version="1.0" encoding="UTF-8" ?> 의 의미
    Coding 2022. 2. 12. 16:19

    개요

    XML은 의례 <?xml version="1.0" encoding="UTF-8" ?>로 시작한다. 이것은 XML 선언부 (XML Declaration)이라 하는것이다. 뒤에 나올 문서가 XML이라는 표시를 나타낸다.

    항상 들어가야 하는 강제요소는 아니다. 선언부가 없는 XM을 만들어도 된다.

    W3C를 비롯한 많은 곳에서는 선언부를 넣는 것을 권장한다. 주요 요인은 인코딩 때문

     

     

    XML은 텍스트 문서로 올바로 읽어내려면 텍스트가 어떤 셋으로 인코딩 되어 있는지 알아야 한다. 그래서 선언부에 인코딩이라는 요소에 어떤 셋으로 되었는지 표시해서 읽을때 올바르게 정보를 제공하는 역할을 한다.

     

    XML 스펙은 기본적인 인코딩의 경우 UTF-8과 UTF-16이다.

     

    XML문서의 처음 4byte를 읽어서 판단하는데 문서의 시작은 선언부인 <?xml... 로 시작하여 문서의 앞부분 4글자는 <, ?, x, m 이다. 만약 BOM도 들어있지 않은 XML 문서는 처음은 항상 이 4가지 문자에 대한 byte가 나타나게 될 것이다. 그렇다면 몇가지 많이 사용되는 인코딩인 경우에는 처음 4byte는 항상 같은 값을 나타낸다는 말로

     

    위 4가지 문자의 ASCII 코드 값은

    <

    0x3C

    00 00 00 3C UCS-4 빅엔디안, 혹은 ASCII 문자에 대해 호환되는 인코딩
    3C 00 00 00 UCS-4 리틀엔디안, 혹은 ASCII 문자에 대해 호환되는 인코딩
    ? 0x3F

    00 3C 00 3F UTF-16 빅엔디안, 혹은 ASCII 문자에 대해 호환되는 인코딩
    3C 00 3F 00 UTF-16 리틀엔디안, 혹은 ASCII 문자에 대해 호환되는 인코딩
    x 0x78 3C 3F 78 6D UTF-8, 혹은 ASCII 문자에 대해 호환되는 인코딩
    m 0x6D 4C 6F A7 94 EBCDIC

    표에서 처럼 몇몇 알려진 인코딩에 대해 해당 바이트 배열이 나타나게 되어 이것을 통해 인코딩을 판단한 후 파싱을 시작하면 된다. 그런데 이런 인코딩을 판단해서 파싱을 하게 되면 선언부에 있는 인코딩의 의미가 없는 요소라고 생각할 수 도있을 것 그러나 UTF-8과 호환되는 경우가 많다.

     

    인코딩 속성을 이해하려면 바이트와 문자의 차이를 이해해야 한다.

    바이트를 0에서 255사이의 숫자로 생각하고 문자는 a, 1 및 A와 같은 것이라하면 사용가능한 모든 문자 집합을 문자집합이라고한다. 각문자에는 하나 이상의 바이트 시퀀스가 있고 바이트의 정확한 수와 값은 사용되는 인코딩에 따라 다르며 다양한 인코딩이 있다.

     

    대부분 이전 문자 집합과  ASCII라는 인코딩을 기반으로 하며 문자 당 단일 바이트이며 미국 영어에서 사용되는 많은 공통 문자를 포함하여 128개의 문자를 포함한다.

    예를 들어 다음은 60에서 65사이의 값으로 표시되는  ASCII 문자 집합의 6개 문자는

    Extract of ASCII Table 60-65
    ╔══════╦══════════════╗
    ║ Byte ║  Character   ║
    ╠══════╬══════════════║
    ║  60  ║      <       ║
    ║  61  ║      =       ║
    ║  62  ║      >       ║
    ║  63  ║      ?       ║
    ║  64  ║      @       ║
    ║  65  ║      A       ║
    ╚══════╩══════════════╝

    전체 ASCII 세트에서 사용되는 가장 낮은 값은 0이고 가장 높은 값은 127이다. 그러나 기본 ASCII 가 제공하는 것보다 많은 문자가 필요하기 시작하면 ASCII 가 적합하지 않으며 광범위한 문자가 필요하다. 128자만으로는 모든 문자를 맞추기에 충분하지 않으므로 다른 인코딩이 필요하다. 일부 인코딩은 1바이트또는 최대 6바이트를 제공한다.

     

    • version="1.0" 이것은이 파일이 준수하는 XML 표준임을 의미
    • encoding="utf-8" 파일이 UTF-8 유니 코드 인코딩을 사용하여 인코딩되었음을 의미

     

     

    'Coding' 카테고리의 다른 글

    BOOL 알아보기  (0) 2022.05.26
    CSS를 이용 상단 메뉴바  (0) 2022.05.26
    HTML 수정하기전 기본숙지사항  (0) 2022.05.26
    .js파일 확장명 열어보기  (0) 2022.05.25
    Meta Tag , og는 뭔가  (0) 2022.02.10
    target="_blank" 코드의 의미  (0) 2022.02.10
    &quot;error_page&quot 코드의 의미  (0) 2022.02.10
    noindex, <b:if cond 코드의 의미  (0) 2022.02.10
Designed by Tistory.