Encoding.Preamble 속성

정의

파생 클래스에서 재정의할 경우, 사용된 인코딩을 지정하는 바이트 시퀀스를 포함하는 범위를 반환합니다.

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)

속성 값

ReadOnlySpan<Byte>

사용된 인코딩을 지정하는 바이트 시퀀스를 포함하는 바이트 범위이며, 프리앰블이 필요하지 않은 경우 길이가 0인 범위입니다.

설명

필요에 따라 Encoding 개체는 인코딩 프로세스의 결과로 생성 되는 바이트의 접두사로 사용할 수 있는 바이트 시퀀스인 머리말을 제공 합니다. 프리앰블이 바이트 순서 표시 (유니코드, 코드 포인트 U + FEFF)를 포함 하는 경우 디코더가 바이트 순서와 변환 형식 또는 u t f를 결정 하는 데 도움이 됩니다.

유니코드 바이트 순서 표시 (BOM)는 다음과 같이 serialize 됩니다 (16 진수).

  • UTF-8: EF BB BF

  • UTF-16 big endian 바이트 순서: FE FF

  • UTF-16 little endian 바이트 순서: FF FE

  • U t f-32 big endian 바이트 순서: 00 00 FE FF

  • UTF-32 little endian 바이트 순서: FF FE 00 00

BOM을 사용 해야 합니다 .이 경우에는 개체에 대 한 참조가 손실 된 파일에 대 한 인코딩을 거의 특정 방식으로 식별 하는 것입니다 Encoding . 예를 들어 비즈니스에 국제 관심사 나 기타 데이터가 없는 경우에 저장 된 임의의 텍스트 파일 또는 태그가 지정 된 웹 데이터 또는 임의의 텍스트 파일에 대 한 참조가 손실 됩니다. 데이터가 일관적이 고 적절 하 게 태그가 지정 된 경우 (예를 들어 UTF-8 또는 u t f-16) 사용자 문제를 피할 수 있습니다.

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

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

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

주의

인코딩된 바이트가 올바르게 디코딩 되도록 하려면 인코딩된 바이트를 프리앰블을 접두사로 사용 해야 합니다. 그러나 대부분의 인코딩은 프리앰블을 제공 하지 않습니다. 인코딩된 바이트가 올바르게 디코딩 되도록 하려면 프리앰블이 포함 된,, 또는 유니코드 인코딩을 사용 해야 합니다 UTF8Encoding UnicodeEncoding UTF32Encoding .

적용 대상