Bagikan melalui


Fungsi IsTextUnicode (winbase.h)

Menentukan apakah buffer kemungkinan berisi bentuk teks Unicode.

Sintaks

BOOL IsTextUnicode(
  [in]                const VOID *lpv,
  [in]                int        iSize,
  [in, out, optional] LPINT      lpiResult
);

Parameter

[in] lpv

Arahkan ke buffer input untuk diperiksa.

[in] iSize

Ukuran, dalam byte, dari buffer input yang ditunjukkan oleh lpv.

[in, out, optional] lpiResult

Pada input, arahkan ke pengujian untuk diterapkan ke teks buffer input. Pada output, parameter ini menerima hasil pengujian yang ditentukan: 1 jika konten buffer lulus pengujian, 0 untuk kegagalan. Hanya bendera yang diatur pada input ke fungsi yang signifikan pada output.

Jika lpiResult adalah NULL, fungsi menggunakan semua pengujian yang tersedia untuk menentukan apakah data dalam buffer kemungkinan adalah teks Unicode.

Parameter ini bisa menjadi satu atau beberapa nilai berikut. Nilai dapat dikombinasikan dengan biner "OR".

Nilai Makna
IS_TEXT_UNICODE_ASCII16
Teksnya adalah Unicode, dan hanya berisi nilai/karakter ASCII yang diperluas nol.
IS_TEXT_UNICODE_REVERSE_ASCII16
Sama seperti sebelumnya, kecuali bahwa teks Unicode dibalik byte.
IS_TEXT_UNICODE_STATISTICS
Teks mungkin Unicode, dengan penentuan yang dibuat dengan menerapkan analisis statistik. Kepastian mutlak tidak dijamin. Lihat bagian Keterangan.
IS_TEXT_UNICODE_REVERSE_STATISTICS
Sama seperti sebelumnya, kecuali bahwa teks yang mungkin Unicode dibalik byte.
IS_TEXT_UNICODE_CONTROLS
Teks berisi representasi Unicode dari satu atau beberapa karakter noncetak ini: RETURN, LINEFEED, SPACE, CJK_SPACE, TAB.
IS_TEXT_UNICODE_REVERSE_CONTROLS
Sama seperti sebelumnya, kecuali bahwa karakter Unicode dibalik byte.
IS_TEXT_UNICODE_BUFFER_TOO_SMALL
Ada terlalu sedikit karakter dalam buffer untuk analisis yang bermakna (kurang dari dua byte).
IS_TEXT_UNICODE_SIGNATURE
Teks berisi tanda urutan byte Unicode (BOM) 0xFEFF sebagai karakter pertamanya.
IS_TEXT_UNICODE_REVERSE_SIGNATURE
Teks berisi tanda urutan byte terbalik byte Unicode (REVERSE BOM) 0xFFFE sebagai karakter pertamanya.
IS_TEXT_UNICODE_ILLEGAL_CHARS
Teks berisi salah satu karakter ilegal Unicode ini: BOM Terbalik tersemat, UNICODE_NUL, CRLF (dikemas ke dalam satu kata), atau 0xFFFF.
IS_TEXT_UNICODE_ODD_LENGTH
Jumlah karakter dalam string ganjil. String panjang ganjil tidak boleh (menurut definisi) adalah teks Unicode.
IS_TEXT_UNICODE_NULL_BYTES
Teks berisi byte null, yang menunjukkan teks non-ASCII.
IS_TEXT_UNICODE_UNICODE_MASK
Nilainya adalah kombinasi IS_TEXT_UNICODE_ASCII16, IS_TEXT_UNICODE_STATISTICS, IS_TEXT_UNICODE_CONTROLS, IS_TEXT_UNICODE_SIGNATURE.
IS_TEXT_UNICODE_REVERSE_MASK
Nilainya adalah kombinasi IS_TEXT_UNICODE_REVERSE_ASCII16, IS_TEXT_UNICODE_REVERSE_STATISTICS, IS_TEXT_UNICODE_REVERSE_CONTROLS, IS_TEXT_UNICODE_REVERSE_SIGNATURE.
IS_TEXT_UNICODE_NOT_UNICODE_MASK
Nilainya adalah kombinasi dari IS_TEXT_UNICODE_ILLEGAL_CHARS, IS_TEXT_UNICODE_ODD_LENGTH, dan dua bendera bit yang saat ini tidak digunakan.
IS_TEXT_UNICODE_NOT_ASCII_MASK
Nilai adalah kombinasi dari IS_TEXT_UNICODE_NULL_BYTES dan tiga bendera bit yang saat ini tidak digunakan.

Mengembalikan nilai

Mengembalikan nilai bukan nol jika data dalam buffer melewati pengujian yang ditentukan. Fungsi mengembalikan 0 jika data dalam buffer tidak lulus tes yang ditentukan.

Keterangan

Fungsi ini menggunakan berbagai metode statistik dan deterministik untuk membuat penentuannya, di bawah kendali bendera yang diteruskan dalam parameter lpiResult . Ketika fungsi kembali, hasil pengujian tersebut dilaporkan menggunakan parameter yang sama.

Pengujian IS_TEXT_UNICODE_STATISTICS dan IS_TEXT_UNICODE_REVERSE_STATISTICS menggunakan analisis statistik. Tes ini tidak mudah. Pengujian statistik mengasumsikan sejumlah variasi tertentu antara byte rendah dan tinggi dalam string, dan beberapa string ASCII dapat tergelincir. Misalnya, jika lpv menunjukkan string ASCII 0x41, 0x0A, 0x0D, 0x1D (A\n\r^Z), string lulus tes IS_TEXT_UNICODE_STATISTICS, meskipun kegagalan lebih disukai.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

Fungsi Unicode dan Set Karakter

Unicode dan Set Karakter