UnicodeEncoding.Preamble Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan tanda urutan byte Unicode yang dikodekan dalam format UTF-16, jika objek ini dikonfigurasi untuk menyediakannya.
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)
Nilai Properti
Rentang byte yang berisi tanda urutan byte Unicode, jika objek ini dikonfigurasi untuk menyediakannya; jika tidak, rentang default.
Keterangan
Objek UnicodeEncoding dapat memberikan pembukaan, yang merupakan rentang byte yang dapat diawali ke urutan byte yang dihasilkan dari proses pengodean. Prefacing urutan byte yang dikodekan dengan tanda urutan byte (titik U+FEFFkode ) membantu dekoder menentukan urutan byte dan format transformasi atau UTF. Tanda urutan byte Unicode (BOM) diserialisasikan sebagai berikut (dalam heksadesimal):
Urutan byte big endian:
FE FFUrutan byte little endian:
FF FE
Anda dapat membuat instans UnicodeEncoding objek yang Preamble merupakan BOM valid dengan cara berikut:
Dengan mengambil objek yang UnicodeEncoding dikembalikan oleh Encoding.Unicode properti atau Encoding.BigEndianUnicode .
Dengan memanggil konstruktor tanpa UnicodeEncoding() parameter untuk membuat UnicodeEncoding instans objek.
Dengan menyediakan
truesebagai nilaibyteOrderMarkargumen ke UnicodeEncoding(Boolean, Boolean) konstruktor atau UnicodeEncoding(Boolean, Boolean, Boolean) .
Kami menyarankan agar Anda menggunakan BOM, karena menyediakan identifikasi yang hampir pasti dari pengodean untuk file yang jika tidak kehilangan referensi ke pengodeannya, seperti data web yang tidak diberi tag atau tidak benar atau file teks acak yang disimpan ketika bisnis tidak memiliki kekhawatiran internasional. Seringkali masalah pengguna mungkin dihindari jika data ditandai dengan konsisten dan benar.
Untuk standar yang menyediakan jenis pengodean, BOM agak berlebihan. Namun, ini dapat digunakan untuk membantu server mengirim header pengodean yang benar. Atau, ini dapat digunakan sebagai fallback jika pengodean hilang.
Ada beberapa kelemahan menggunakan BOM. Misalnya, mengetahui cara membatasi bidang database yang menggunakan BOM bisa sulit. Penggabungan file juga dapat menjadi masalah, misalnya, ketika file digabungkan sewaktu-waktu sehingga karakter yang tidak perlu dapat berakhir di tengah data. Terlepas dari beberapa kelemahan, namun, penggunaan BOM sangat disarankan.
Penting
Untuk memastikan bahwa byte yang dikodekan didekodekan dengan benar, Anda harus mengawali awal aliran byte yang dikodekan dengan awalan byte yang dikodekan dengan awalan. Perhatikan bahwa GetBytes metode ini tidak menambahkan BOM ke urutan byte yang dikodekan; memasok BOM di awal aliran byte yang sesuai adalah tanggung jawab pengembang.