programing

뜻뜻뜻

codeshow 2023. 10. 14. 10:44
반응형

저는 XML이 처음이라 기본적인 것을 이해하려고 노력하고 있습니다.아래 "Learning XML"의 한 줄을 읽었지만, 저는 여전히 명확하지 않습니다.누가 이 기본사항들을 명확하게 설명해주는 책이나 웹사이트를 알려줄 수 있습니까?

XML 학습에서:

XML 선언은 문서의 가장 일반적인 속성 중 일부를 설명하며, XML 프로세서에 이 문서를 해석하기 위해 XML 파서가 필요하다고 말합니다.

이것은 무엇을 의미합니까?

합니다.xml version- 해야 - 문서와 문서의 XML로 화"다는 요? 하지만 그럼.encoding부품? 왜 그것이 필요합니까?

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

바이트는 0에서 255 사이의 숫자인 반면 문자는 "a", "1" 및 "AE"와 같은 것입니다.사용 가능한 모든 문자 집합을 문자 집합이라고 합니다.

각 문자에는 이 문자를 나타내는 데 사용되는 바이트 수가 하나 이상이지만, 바이트의 정확한 수와 값은 사용되는 인코딩에 따라 다르며 다양한 인코딩이 있습니다.

대부분의 인코딩은 오래된 문자 집합과 ASCII라는 인코딩을 기반으로 합니다. ASCII는 문자당 단일 바이트(실제로는 7비트)이며 미국 영어에서 사용되는 일반 문자를 포함하여 128개의 문자를 포함합니다.

예를 들어 ASCII 문자 집합에는 값 60 ~ 65로 표시되는 6개의 문자가 있습니다.

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

전체 ASCII 집합에서 사용되는 가장 낮은 값은 0이고 가장 높은 값은 127입니다(이 둘 다 숨겨진 제어 문자임).

그러나 기본 ASCII가 제공하는 문자보다 더 많은 문자(예: 악센트가 있는 문자, 통화 기호, 그래픽 기호 등)가 필요하기 시작하면 ASCII가 적합하지 않으므로 보다 광범위한 문자가 필요합니다.더 많은 문자(다른 문자 집합)가 필요하고 128자로는 모든 문자를 맞추기에 충분하지 않기 때문에 다른 인코딩이 필요합니다.일부 인코딩은 1바이트(256자) 또는 최대 6바이트를 제공합니다.

시간이 지나면서 많은 인코딩이 생성되었습니다.Windows 세계에서는 CP1252 또는 ISO-8859-1이 있지만 Linux 사용자는 UTF-8을 선호하는 경향이 있습니다. Java는 UTF-16을 기본적으로 사용합니다. [의견 참조].

한 인코딩의 문자에 대한 바이트 값의 한 시퀀스는 다른 인코딩의 완전히 다른 문자를 나타내거나 잘못된 경우도 있습니다.

예를 들어, ISO 8859-1에서 â는 1바이트의 값으로 표시됩니다.226, UTF-8에서는 2바이트입니다.195, 162. 그러나 ISO 8859-1에서는195, 162¢, ¢ 두 글자가 될 겁니다.

XML을 문자의 시퀀스가 아니라 바이트의 시퀀스라고 생각합니다.

를 로 해 보십시오.195, 162 알 수 이것들이 어떤 캐릭터인지 어떻게 알 수 있습니까?

시스템이 해당 바이트를 실제 문자로 해석하려면(따라서 표시하거나 다른 인코딩으로 변환하려면) XML에 사용되는 인코딩을 알아야 합니다.

대부분의 일반적인 인코딩은 ASCII와 호환되기 때문에 기본적인 알파벳 문자와 기호에 관해서는 선언 자체가 인코딩이 무엇인지 말하기 위해 ASCII 문자만을 사용하는 것으로 피할 수 있습니다.다른 경우에는 파서가 선언문의 부호화를 파악해야 합니다.된다는 것을 입니다.<?xml이것을 하는 것이 훨씬 쉽습니다.

으로.versionattribute는 XML 버전을 지정하며, 현재 두 버전이 있습니다(위키백과 XML 버전 참조).버전 간에 약간의 차이가 있기 때문에 XML 파서가 무엇을 다루고 있는지 알아야 합니다.대부분의 경우 (어쨌든 영어 사용자의 경우) 버전 1.0이면 충분합니다.

이것은 XML 옵션 프리앰블입니다.

  • version="1.0"은 이 하는 XML합니다를 합니다.
  • encoding="utf-8"이 UTF-8합니다를 합니다.

인코딩 선언은 문서의 문자를 나타내기 위해 사용되는 인코딩을 식별합니다.

XML 선언에 대한 자세한 내용은 여기에서 확인하십시오. http://msdn.microsoft.com/en-us/library/ms256048.aspx

누가 이 기본사항들을 명확하게 설명해주는 책이나 웹사이트를 알려줄 수 있습니까?

예제와 함께 XML 자습서를 확인할 수 있습니다.

하지만 인코딩 부분은?그것이 왜 필요합니까?

W3C는 인코딩에 대한 설명을 제공합니다.

"XML 및 HTML 4.0의 문서 문자 집합은 유니코드(일명 ISO 10646)입니다.이것은 HTML 브라우저와 XML 프로세서가 내부적으로 유니코드를 사용한 것처럼 동작해야 한다는 것을 의미합니다.그렇다고 해서 문서를 유니코드로 전송해야 하는 것은 아닙니다.클라이언트와 서버가 인코딩에 동의하는 한 유니코드로 변환할 수 있는 모든 인코딩을 사용할 수 있습니다.."

문서 맵의 XML 선언은 다음과 같이 구성됩니다.

The version number, ?xml version="1.0"?. 

이것은 필수 사항입니다.XML의 향후 버전에서는 숫자가 변경될 수 있지만 1.0이 현재 버전입니다.

암호화 선언문,

encoding="UTF-8"?

선택 사항입니다.사용할 경우 XML 선언의 버전 정보 바로 뒤에 인코딩 선언이 나타나야 하며 기존 문자 인코딩을 나타내는 값을 포함해야 합니다.

언급URL : https://stackoverflow.com/questions/13743250/meaning-of-xml-version-1-0-encoding-utf-8

반응형