Encoding.Preamble 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파생 클래스에서 재정의되는 경우 사용된 인코딩을 지정하는 바이트 시퀀스가 포함된 범위를 반환합니다.
public:
virtual property ReadOnlySpan<System::Byte> Preamble { ReadOnlySpan<System::Byte> get(); };
public virtual ReadOnlySpan<byte> Preamble { get; }
member this.Preamble : ReadOnlySpan<byte>
Public Overridable ReadOnly Property Preamble As ReadOnlySpan(Of Byte)
속성 값
사용되는 인코딩을 지정하는 바이트 시퀀스가 포함된 바이트 범위이거나, 프리앰블이 필요하지 않은 경우 길이가 0인 범위입니다.
설명
필요에 따라 Encoding 개체는 인코딩 프로세스에서 생성된 바이트 앞에 접두사를 지정할 수 있는 바이트 시퀀스인 프리앰블을 제공합니다. 프리앰블에 바이트 순서 표시(유니코드, 코드 포인트 U+FEFF)가 포함되어 있으면 디코더가 바이트 순서와 변환 형식 또는 UTF를 결정하는 데 도움이 됩니다.
BOM(유니코드 바이트 순서 표시)은 다음과 같이 직렬화됩니다(16진수).
UTF-8: EF BB BF
UTF-16 big endian 바이트 순서: FE FF
UTF-16 little endian 바이트 순서: FF FE
UTF-32 big endian 바이트 순서: 00 00 FE FF
UTF-32 little endian 바이트 순서: FF FE 00 00
BOM은 개체에 대한 참조 Encoding 가 손실된 파일(예: 태그가 지정되지 않았거나 부적절하게 태그가 지정된 웹 데이터 또는 비즈니스에 국제적인 문제 또는 기타 데이터가 없을 때 저장된 임의 텍스트 파일)에 대한 인코딩의 거의 특정 ID를 제공하기 때문에 사용해야 합니다. UTF-8 또는 UTF-16에서 데이터를 일관되고 적절하게 태그 지정하는 경우 사용자 문제를 방지할 수 있습니다.
인코딩 형식을 제공하는 표준의 경우 BOM은 다소 중복됩니다. 그러나 서버에서 올바른 인코딩 헤더를 보내는 데 사용할 수 있습니다. 또는 인코딩이 손실될 경우 대체(fallback)로 사용할 수 있습니다.
BOM 사용에는 몇 가지 단점이 있습니다. 예를 들어 BOM을 사용하는 데이터베이스 필드를 제한하는 방법을 아는 것은 어려울 수 있습니다. 예를 들어 불필요한 문자가 데이터 중간에 있을 수 있는 방식으로 파일이 병합되는 경우와 같이 파일의 연결도 문제가 될 수 있습니다. 그러나 몇 가지 단점에도 불구하고 BOM을 사용하는 것이 좋습니다.
바이트 순서 및 바이트 순서 표시에 대한 자세한 내용은 유니코드 홈페이지의 유니코드 표준을 참조하세요.
Caution
인코딩된 바이트가 제대로 디코딩되도록 하려면 접두사로 인코딩된 바이트를 프리앰블으로 접두사로 지정해야 합니다. 그러나 대부분의 인코딩은 프리앰블을 제공하지 않습니다. 인코딩된 바이트가 제대로 디코딩되도록 하려면 프리앰블과 함께 유니코드 인코딩, UTF8Encoding즉, UnicodeEncoding또는 , 또는 UTF32Encoding유니코드 인코딩을 사용해야 합니다.