>  기사  >  백엔드 개발  >  XML 인코딩에 대한 자세한 설명

XML 인코딩에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-22 16:57:171773검색

그날 동료들과 xml의 인코딩 속성 과 파일 형식의 관계에 대해 논의하던 중 드디어 완전히 이해하게 되었습니다.
이전에 제가 이해한 것은 xml의 인코딩 정의가 파일 형식과 일치해야 한다는 것입니다. 즉, 이러한 XML Introduction 논의의 여러 단계에 대해 간단히 이야기해 보겠습니다.
토론 초반에 인코딩 값이 파일 형식(예: BOM, BOM은 Byte Order Mark의 약자)과 일치해야 한다고 확실히 말씀드렸습니다. 그렇지 않으면 XML을 구문 분석할 때 오류가 발생할 수 있습니다(예: 문서에 특정 UNICODE 문자가 포함되어 있고 인코딩이나 BOM에서 지정한 형식이 일치하지 않으면 오류가 발생합니다. 당시의 의미는 이것이었습니다. 그런 다음 그렇지 않은 것 같다고 말했습니다. DELPHI로 만든 XML 파일에는 XML에 BOM이 없으며, 지정된 인코딩은 UTF-8로 IE에서 정상적으로 열 수 있습니다.
자신이 생성한 XML 파일에 BOM이 없다는 사실을 발견했을 때 흥미로운 점은 UE를 사용하여 UNICODE 문자가 포함된 파일을 열 때 UE가 자동으로 파일 앞에 FF FE를 추가하여 파일이 정상적으로 표시되므로 UE에서 원래 16진수로 된 BOM이 없는 파일을 찾아보면 추가 BOM이 표시됩니다. 이 기능은 UE의 OPTIONS에서 찾을 수 있습니다. 스스로요.
그런데 어떻게 이런 일이 일어날 수 있을까 조금 혼란스러워졌고, 생각하고 또 생각했는데 갑자기 그는 다음과 같은 내용의 메시지를 보냈습니다.

W3C 정의 파서가 XML 파일의 인코딩을 올바르게 읽는 방법에 대한 세 가지 XML 규칙:
1. 문서에 BOM(바이트 순서 표시)이 있는 경우 일반적으로 유니코드 형식으로 저장되면 BOM이 포함되고 ANSI는 그렇지 않습니다. 아님) , 파일 인코딩이 정의됨
2. BOM이 없는 경우 XML 선언의 인코딩 속성을 확인합니다
3. 위 두 가지 중 어느 것도 없으면 XML로 간주됩니다. 문서는 UTF-8로 인코딩됩니다.

이 세 가지 규칙을 사용하면 규칙이 훨씬 더 명확해집니다.
먼저 XML 파서는 파일의 BOM에 따라 파일을 구문 분석합니다. BOM을 찾을 수 없으면 XML에서 인코딩 속성으로 지정된 인코딩이 사용됩니다. utf-8은 기본적으로 문서를 구문 분석하는 데 사용됩니다. 그런 다음 BOM과 ENCODING이 모두 있는 경우 BOM에서 지정한 것이 우선합니다.
아! 갑자기 표준 문서가 있으면 얼마나 좋을지 느꼈습니다! 너무 자연스럽긴 하지만.
이제 드디어 xml의 인코딩과 파일 형식의 관계를 이해하게 되었습니다. 이 음반에는 몇백 단어밖에 안 들어있지만, 우리가 그것에 대해 논의할 때 소요된 총 시간은 거의 2시간 정도였습니다.

위 내용은 XML 인코딩에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.