Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Pustaka Templat Aktif (ATL) terus didukung. Namun, kami tidak lagi menambahkan fitur atau memperbarui dokumentasi.
Fungsi-fungsi ini mendukung pengodean dan dekode teks.
| Fungsi | Deskripsi |
|---|---|
| AtlGetHexValue | Panggil fungsi ini untuk mendapatkan nilai numerik digit heksadesimal. |
| AtlGetVersion | Panggil fungsi ini untuk mendapatkan versi pustaka ATL yang Anda gunakan. |
| AtlHexDecode | Mendekode string data yang telah dikodekan sebagai teks heksadesimal seperti dengan panggilan sebelumnya ke AtlHexEncode. |
| AtlHexDecodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam byte buffer yang dapat berisi data yang didekodekan dari string yang dikodekan hex dengan panjang yang ditentukan. |
| AtlHexEncode | Panggil fungsi ini untuk mengodekan beberapa data sebagai string teks heksadesimal. |
| AtlHexEncodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan. |
| AtlHexValue | Panggil fungsi ini untuk mendapatkan nilai numerik digit heksadesimal. |
| AtlUnicodeToUTF8 | Panggil fungsi ini untuk mengonversi string Unicode ke UTF-8. |
| BEncode | Panggil fungsi ini untuk mengonversi beberapa data menggunakan pengodean "B". |
| BEncodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan. |
| EscapeXML | Panggil fungsi ini untuk mengonversi karakter yang tidak aman untuk digunakan dalam XML ke yang setara dengan amannya. |
| GetExtendedChars | Panggil fungsi ini untuk mendapatkan jumlah karakter yang diperluas dalam string. |
| IsExtendedChar | Panggil fungsi ini untuk mengetahui apakah karakter tertentu adalah karakter yang diperluas (kurang dari 32, lebih besar dari 126, dan bukan tab, umpan baris, atau pengembalian pengangkutan) |
| QEncode | Panggil fungsi ini untuk mengonversi beberapa data menggunakan pengodean "Q". |
| QEncodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan. |
| QPDecode | Mendekode string data yang telah dikodekan dalam format yang dapat dicetak yang dikutip seperti dengan panggilan sebelumnya ke QPEncode. |
| QPDecodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam byte buffer yang dapat berisi data yang didekodekan dari string yang dikodekan yang dapat dicetak yang dikutip dari panjang yang ditentukan. |
| QPEncode | Panggil fungsi ini untuk mengodekan beberapa data dalam format yang dapat dicetak yang dikutip. |
| QPEncodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan. |
| UUDecode | Mendekode string data yang telah diumpulkan seperti oleh panggilan sebelumnya ke UUEncode. |
| UUDecodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam byte buffer yang dapat berisi data yang didekodekan dari string uuencoded dengan panjang yang ditentukan. |
| UUEncode | Panggil fungsi ini untuk uuencode beberapa data. |
| UUEncodeGetRequiredLength | Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan. |
Persyaratan
Header: atlenc.h
AtlGetHexValue
Panggil fungsi ini untuk mendapatkan nilai numerik digit heksadesimal.
inline char AtlGetHexValue(char chIn) throw();
Parameter
dagu
Karakter heksadesimal '0'-'9', 'A'-'F', atau 'a'-'f'.
Tampilkan Nilai
Nilai numerik karakter input ditafsirkan sebagai digit heksadesimal. Misalnya, input '0' mengembalikan nilai 0 dan input 'A' mengembalikan nilai 10. Jika karakter input bukan digit heksadesimal, fungsi ini mengembalikan -1.
AtlGetVersion
Panggil fungsi ini untuk mendapatkan versi pustaka ATL yang Anda gunakan.
ATLAPI_(DWORD) AtlGetVersion(void* pReserved);
Parameter
Diawetkan
Pointer yang dipesan.
Tampilkan Nilai
Mengembalikan nilai bilangan bulat DWORD dari versi pustaka ATL yang Anda kompilasi atau jalankan.
Contoh
Fungsi harus dipanggil sebagai berikut.
DWORD ver;
ver = AtlGetVersion(NULL);
Persyaratan
Header: atlbase.h
AtlHexDecode
Mendekode string data yang telah dikodekan sebagai teks heksadesimal seperti dengan panggilan sebelumnya ke AtlHexEncode.
inline BOOL AtlHexDecode(
LPCSTR pSrcData,
int nSrcLen,
LPBYTE pbDest,
int* pnDestLen) throw();
Parameter
pSrcData
String yang berisi data yang akan didekodekan.
nSrcLen
Panjang karakter pSrcData.
pbDest
Buffer yang dialokasikan pemanggil untuk menerima data yang didekodekan.
pnDestLen
Penunjuk ke variabel yang berisi panjang dalam byte pbDest. Jika fungsi berhasil, variabel menerima jumlah byte yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam byte buffer.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
AtlHexDecodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam byte buffer yang dapat berisi data yang didekodekan dari string yang dikodekan hex dengan panjang yang ditentukan.
inline int AtlHexDecodeGetRequiredLength(int nSrcLen) throw();
Parameter
nSrcLen
Jumlah karakter dalam string yang dikodekan.
Tampilkan Nilai
Jumlah byte yang diperlukan untuk buffer yang dapat menyimpan string karakter nSrcLen yang didekodekan.
AtlHexEncode
Panggil fungsi ini untuk mengodekan beberapa data sebagai string teks heksadesimal.
inline BOOL AtlHexEncode(
const BYTE * pbSrcData,
int nSrcLen,
LPSTR szDest,
int * pnDestLen) throw();
Parameter
pbSrcData
Buffer yang berisi data yang akan dikodekan.
nSrcLen
Panjang byte data yang akan dikodekan.
szDest
Buffer yang dialokasikan pemanggil untuk menerima data yang dikodekan.
pnDestLen
Penunjuk ke variabel yang berisi panjang karakter szDest. Jika fungsi berhasil, variabel menerima jumlah karakter yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam karakter buffer.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Setiap byte data sumber dikodekan sebagai 2 karakter heksadesimal.
AtlHexEncodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan.
inline int AtlHexEncodeGetRequiredLength(int nSrcLen) throw();
Parameter
nSrcLen
Jumlah byte data yang akan dikodekan.
Tampilkan Nilai
Jumlah karakter yang diperlukan untuk buffer yang dapat menyimpan data yang dikodekan dari byte nSrcLen .
AtlHexValue
Panggil fungsi ini untuk mendapatkan nilai numerik digit heksadesimal.
inline short AtlHexValue(char chIn) throw();
Parameter
dagu
Karakter heksadesimal '0'-'9', 'A'-'F', atau 'a'-'f'.
Tampilkan Nilai
Nilai numerik karakter input ditafsirkan sebagai digit heksadesimal. Misalnya, input '0' mengembalikan nilai 0 dan input 'A' mengembalikan nilai 10. Jika karakter input bukan digit heksadesimal, fungsi ini mengembalikan -1.
AtlUnicodeToUTF8
Panggil fungsi ini untuk mengonversi string Unicode ke UTF-8.
ATL_NOINLINE inline int AtlUnicodeToUTF8(
LPCWSTR wszSrc,
int nSrc,
LPSTR szDest,
int nDest) throw();
Parameter
wszSrc
String Unicode yang akan dikonversi
nSrc
Panjang karakter string Unicode.
szDest
Buffer yang dialokasikan pemanggil untuk menerima string yang dikonversi.
nDest
Panjang byte buffer.
Tampilkan Nilai
Mengembalikan jumlah karakter untuk string yang dikonversi.
Keterangan
Untuk menentukan ukuran buffer yang diperlukan untuk string yang dikonversi, panggil fungsi ini melewati 0 untuk szDest dan nDest.
BEncode
Panggil fungsi ini untuk mengonversi beberapa data menggunakan pengodean "B".
inline BOOL BEncode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
LPCSTR pszCharSet) throw();
Parameter
pbSrcData
Buffer yang berisi data yang akan dikodekan.
nSrcLen
Panjang byte data yang akan dikodekan.
szDest
Buffer yang dialokasikan pemanggil untuk menerima data yang dikodekan.
pnDestLen
Penunjuk ke variabel yang berisi panjang karakter szDest. Jika fungsi berhasil, variabel menerima jumlah karakter yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam karakter buffer.
pszCharSet
Karakter yang diatur untuk digunakan untuk konversi.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Skema pengodean "B" dijelaskan dalam RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
BEncodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan.
inline int BEncodeGetRequiredLength(int nSrcLen, int nCharsetLen) throw();
Parameter
nSrcLen
Jumlah byte data yang akan dikodekan.
nCharsetLen
Panjang karakter karakter yang diatur untuk digunakan untuk konversi.
Tampilkan Nilai
Jumlah karakter yang diperlukan untuk buffer yang dapat menyimpan data yang dikodekan dari byte nSrcLen .
Keterangan
Skema pengodean "B" dijelaskan dalam RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
EscapeXML
Panggil fungsi ini untuk mengonversi karakter yang tidak aman untuk digunakan dalam XML ke yang setara dengan amannya.
inline int EscapeXML(
const wchar_t * szIn,
int nSrcLen,
wchar_t * szEsc,
int nDestLen,
DWORD dwFlags = ATL_ESC_FLAG_NONE) throw();
Parameter
szIn
String yang akan dikonversi.
nSrclen
Panjang karakter string yang akan dikonversi.
szEsc
Buffer yang dialokasikan pemanggil untuk menerima string yang dikonversi.
nDestLen
Panjang karakter buffer yang dialokasikan pemanggil.
dwFlags
ATL_ESC Bendera yang menjelaskan bagaimana konversi akan dilakukan.
- ATL_ESC_FLAG_NONE Perilaku default. Tanda kutip dan apostrof tidak dikonversi.
- ATL_ESC_FLAG_ATTR Tanda kutip dan apostrof dikonversi ke
"dan'masing-masing.
Tampilkan Nilai
Panjang karakter string yang dikonversi.
Keterangan
Kemungkinan konversi yang dilakukan oleh fungsi ini ditampilkan dalam tabel:
| Sumber | Tujuan |
|---|---|
| < | < |
| > | > |
| & | & |
| ' | ' |
| " | " |
GetExtendedChars
Panggil fungsi ini untuk mendapatkan jumlah karakter yang diperluas dalam string.
inline int GetExtendedChars(LPCSTR szSrc, int nSrcLen) throw();
Parameter
szSrc
String yang akan dianalisis.
nSrcLen
Panjang string dalam karakter.
Tampilkan Nilai
Mengembalikan jumlah karakter yang diperluas yang ditemukan dalam string seperti yang ditentukan oleh IsExtendedChar.
IsExtendedChar
Panggil fungsi ini untuk mengetahui apakah karakter tertentu adalah karakter yang diperluas (kurang dari 32, lebih besar dari 126, dan bukan tab, umpan baris, atau pengembalian pengangkutan)
inline int IsExtendedChar(char ch) throw();
Parameter
Ch
Karakter yang akan diuji
Tampilkan Nilai
TRUE jika karakter diperluas, FALSE jika tidak.
QEncode
Panggil fungsi ini untuk mengonversi beberapa data menggunakan pengodean "Q".
inline BOOL QEncode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
LPCSTR pszCharSet,
int* pnNumEncoded = NULL) throw();
Parameter
pbSrcData
Buffer yang berisi data yang akan dikodekan.
nSrcLen
Panjang byte data yang akan dikodekan.
szDest
Buffer yang dialokasikan pemanggil untuk menerima data yang dikodekan.
pnDestLen
Penunjuk ke variabel yang berisi panjang karakter szDest. Jika fungsi berhasil, variabel menerima jumlah karakter yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam karakter buffer.
pszCharSet
Karakter yang diatur untuk digunakan untuk konversi.
pnNumEncoded
Penunjuk ke variabel yang saat dikembalikan berisi jumlah karakter tidak aman yang harus dikonversi.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Skema pengodean "Q" dijelaskan dalam RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
QEncodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan.
inline int QEncodeGetRequiredLength(int nSrcLen, int nCharsetLen) throw();
Parameter
nSrcLen
Jumlah byte data yang akan dikodekan.
nCharsetLen
Panjang karakter karakter yang diatur untuk digunakan untuk konversi.
Tampilkan Nilai
Jumlah karakter yang diperlukan untuk buffer yang dapat menyimpan data yang dikodekan dari byte nSrcLen .
Keterangan
Skema pengodean "Q" dijelaskan dalam RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
QPDecode
Mendekode string data yang telah dikodekan dalam format yang dapat dicetak yang dikutip seperti dengan panggilan sebelumnya ke QPEncode.
inline BOOL QPDecode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
DWORD dwFlags = 0) throw();
Parameter
pbSrcData
[di] Buffer yang berisi data yang akan didekodekan.
nSrcLen
[di] Panjang byte pbSrcData.
szDest
[out] Buffer yang dialokasikan pemanggil untuk menerima data yang didekodekan.
pnDestLen
[out] Penunjuk ke variabel yang berisi panjang dalam byte szDest. Jika fungsi berhasil, variabel menerima jumlah byte yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam byte buffer.
dwFlags
[di] ATLSMTP_QPENCODE bendera yang menjelaskan bagaimana konversi akan dilakukan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Skema pengodean yang dapat dicetak yang dikutip dijelaskan dalam RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
QPDecodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam byte buffer yang dapat berisi data yang didekodekan dari string yang dikodekan yang dapat dicetak yang dikutip dari panjang yang ditentukan.
inline int QPDecodeGetRequiredLength(int nSrcLen) throw();
Parameter
nSrcLen
Jumlah karakter dalam string yang dikodekan.
Tampilkan Nilai
Jumlah byte yang diperlukan untuk buffer yang dapat menyimpan string karakter nSrcLen yang didekodekan.
Keterangan
Skema pengodean yang dapat dicetak yang dikutip dijelaskan dalam RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
QPEncode
Panggil fungsi ini untuk mengodekan beberapa data dalam format yang dapat dicetak yang dikutip.
inline BOOL QPEncode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
DWORD dwFlags = 0) throw ();
Parameter
pbSrcData
Buffer yang berisi data yang akan dikodekan.
nSrcLen
Panjang byte data yang akan dikodekan.
szDest
Buffer yang dialokasikan pemanggil untuk menerima data yang dikodekan.
pnDestLen
Penunjuk ke variabel yang berisi panjang karakter szDest. Jika fungsi berhasil, variabel menerima jumlah karakter yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam karakter buffer.
dwFlags
ATLSMTP_QPENCODE bendera yang menjelaskan bagaimana konversi akan dilakukan.
ATLSMTP_QPENCODE_DOT Jika titik muncul di awal baris, titik ditambahkan ke output serta dikodekan.
ATLSMTP_QPENCODE_TRAILING_SOFT Menambahkan
=\r\nke string yang dikodekan.
Skema pengodean yang dapat dicetak yang dikutip dijelaskan dalam RFC 2045.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Skema pengodean yang dapat dicetak yang dikutip dijelaskan dalam RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
QPEncodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan.
inline int QPEncodeGetRequiredLength(int nSrcLen) throw ();
Parameter
nSrcLen
Jumlah byte data yang akan dikodekan.
Tampilkan Nilai
Jumlah karakter yang diperlukan untuk buffer yang dapat menyimpan data yang dikodekan dari byte nSrcLen .
Keterangan
Skema pengodean yang dapat dicetak yang dikutip dijelaskan dalam RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
UUDecode
Mendekode string data yang telah diumpulkan seperti oleh panggilan sebelumnya ke UUEncode.
inline BOOL UUDecode(
BYTE* pbSrcData,
int nSrcLen,
BYTE* pbDest,
int* pnDestLen) throw ();
Parameter
pbSrcData
String yang berisi data yang akan didekodekan.
nSrcLen
Panjang byte pbSrcData.
pbDest
Buffer yang dialokasikan pemanggil untuk menerima data yang didekodekan.
pnDestLen
Penunjuk ke variabel yang berisi panjang dalam byte pbDest. Jika fungsi berhasil, variabel menerima jumlah byte yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam byte buffer.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Implementasi uuencoding ini mengikuti spesifikasi POSIX P1003.2b/D11.
UUDecodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam byte buffer yang dapat berisi data yang didekodekan dari string uuencoded dengan panjang yang ditentukan.
inline int UUDecodeGetRequiredLength(int nSrcLen) throw ();
Parameter
nSrcLen
Jumlah karakter dalam string yang dikodekan.
Tampilkan Nilai
Jumlah byte yang diperlukan untuk buffer yang dapat menyimpan string karakter nSrcLen yang didekodekan.
Keterangan
Implementasi uuencoding ini mengikuti spesifikasi POSIX P1003.2b/D11.
UUEncode
Panggil fungsi ini untuk uuencode beberapa data.
inline BOOL UUEncode(
const BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
LPCTSTR lpszFile = _T("file"),
DWORD dwFlags = 0) throw ();
Parameter
pbSrcData
Buffer yang berisi data yang akan dikodekan.
nSrcLen
Panjang byte data yang akan dikodekan.
szDest
Buffer yang dialokasikan pemanggil untuk menerima data yang dikodekan.
pnDestLen
Penunjuk ke variabel yang berisi panjang karakter szDest. Jika fungsi berhasil, variabel menerima jumlah karakter yang ditulis ke buffer. Jika fungsi gagal, variabel menerima panjang yang diperlukan dalam karakter buffer.
lpszFile
File yang akan ditambahkan ke header ketika ATLSMTP_UUENCODE_HEADER ditentukan dalam dwFlags.
dwFlags
Bendera yang mengontrol perilaku fungsi ini.
ATLSMTP_UUENCODE_HEADE Header akan dikodekan.
ATLSMTP_UUENCODE_END Akhir akan dikodekan.
ATLSMTP_UUENCODE_DOT Pengisian data akan dilakukan.
Tampilkan Nilai
Mengembalikan TRUE pada keberhasilan, FALSE pada kegagalan.
Keterangan
Implementasi uuencoding ini mengikuti spesifikasi POSIX P1003.2b/D11.
UUEncodeGetRequiredLength
Panggil fungsi ini untuk mendapatkan ukuran dalam karakter buffer yang dapat berisi string yang dikodekan dari data dengan ukuran yang ditentukan.
inline int UUEncodeGetRequiredLength(int nSrcLen) throw ();
Parameter
nSrcLen
Jumlah byte data yang akan dikodekan.
Tampilkan Nilai
Jumlah karakter yang diperlukan untuk buffer yang dapat menyimpan data yang dikodekan dari byte nSrcLen .
Keterangan
Implementasi uuencoding ini mengikuti spesifikasi POSIX P1003.2b/D11.