다음을 통해 공유


UTF32Encoding.Preamble 속성

정의

이 개체를 제공하도록 구성된 경우 UTF-32 형식으로 인코딩된 유니코드 바이트 순서 표시를 가져옵니다.

public:
 virtual property ReadOnlySpan<System::Byte> Preamble { ReadOnlySpan<System::Byte> get(); };
public override ReadOnlySpan<byte> Preamble { get; }
member this.Preamble : ReadOnlySpan<byte>
Public Overrides ReadOnly Property Preamble As ReadOnlySpan(Of Byte)

속성 값

이 개체가 하나를 제공하도록 구성된 경우 유니코드 바이트 순서 표시를 포함하는 바이트 범위입니다. 그렇지 않으면 기본 범위입니다.

설명

UTF32Encoding 개체는 인코딩 프로세스에서 발생하는 바이트 시퀀스에 접두사를 지정할 수 있는 바이트 범위인 프리앰블을 제공할 수 있습니다. 바이트 순서 표시(코드 포인트 U+0000U+FEFF)를 사용하여 인코딩된 바이트 시퀀스를 앞에 추가하면 디코더가 바이트 순서와 변환 형식 또는 UTF를 결정하는 데 도움이 됩니다. BOM(유니코드 바이트 순서 표시)은 다음과 같이 직렬화됩니다(16진수).

  • 빅 엔디안 바이트 순서: 00 00 FE FF

  • 리틀 엔디안 바이트 순서: FF FE 00 00

다음과 같은 방법으로 Preamble 속성이 유효한 BOM인 UTF32Encoding 개체를 인스턴스화할 수 있습니다.

BOM은 태그가 지정되지 않았거나 부적절하게 태그가 지정된 웹 데이터와 같이 UTF32Encoding 개체에 대한 참조가 손실된 파일에 대한 인코딩의 거의 특정 식별을 제공하거나 비즈니스에 국제적인 문제 또는 기타 데이터가 없을 때 저장된 임의의 텍스트 파일을 제공하기 때문에 BOM을 사용하는 것이 좋습니다. 데이터가 일관되고 적절하게 태그가 지정된 경우 사용자 문제를 방지할 수 있는 경우가 많습니다.

인코딩 형식을 제공하는 표준의 경우 BOM은 다소 중복됩니다. 그러나 서버에서 올바른 인코딩 헤더를 보내는 데 사용할 수 있습니다. 또는 인코딩이 손실될 경우 대체(fallback)로 사용할 수 있습니다.

BOM 사용에는 몇 가지 단점이 있습니다. 예를 들어 BOM을 사용하는 데이터베이스 필드를 제한하는 방법을 아는 것은 어려울 수 있습니다. 예를 들어 불필요한 문자가 데이터 중간에 있을 수 있는 방식으로 파일이 병합되는 경우와 같이 파일의 연결도 문제가 될 수 있습니다. 그러나 몇 가지 단점에도 불구하고 BOM을 사용하는 것이 좋습니다.

바이트 순서 및 바이트 순서 표시에 대한 자세한 내용은 유니코드 홈페이지유니코드 표준을 참조하세요.

중요하다

인코딩된 바이트가 제대로 디코딩되도록 하려면 접두사로 인코딩된 바이트를 프리앰블으로 접두사로 지정해야 합니다. GetBytes 메서드는 인코딩된 바이트 시퀀스에 BOM 앞에 추가되지 않습니다. 적절한 바이트 스트림의 시작 부분에 BOM을 제공하는 것은 개발자의 책임입니다.

적용 대상