ATL Metin Kodlama İşlevleri

Uyarı

Etkin Şablon Kitaplığı (ATL) desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

Bu işlevler metin kodlamayı ve kod çözmeyi destekler.

İşlev Açıklama
AtlGetHexValue Onaltılık basamağın sayısal değerini almak için bu işlevi çağırın.
AtlGetVersion Kullanmakta olduğunuz ATL kitaplığının sürümünü almak için bu işlevi çağırın.
AtlHexDecode AtlHexEncode'a yapılan önceki bir çağrı gibi onaltılık metin olarak kodlanmış bir veri dizesinin kodunu çözer.
AtlHexDecodeGetRequiredLength Belirtilen uzunlukta onaltılık kodlanmış bir dizeden çözülmüş verileri içerebilen bir arabelleğin bayt cinsinden boyutunu almak için bu işlevi çağırın.
AtlHexEncode Herhangi bir veriyi onaltılık bir metin dizesi olarak kodlamak için bu işlevi çağırın.
AtlHexEncodeGetRequiredLength Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.
AtlHexValue Onaltılık basamağın sayısal değerini almak için bu işlevi çağırın.
AtlUnicodeToUTF8 Unicode dizesini UTF-8'e dönüştürmek için bu işlevi çağırın.
BEncode Bazı verileri "B" kodlama kullanarak dönüştürmek için bu işlevi çağırın.
BEncodeGetRequiredLength Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.
EscapeXML XML'de kullanılması güvenli olmayan karakterleri güvenli eşdeğerlerine dönüştürmek için bu işlevi çağırın.
GetExtendedChars Bir dizede genişletilmiş karakter sayısını almak için bu işlevi çağırın.
IsExtendedChar Belirli bir karakterin genişletilmiş karakter olup olmadığını (sekme, satır beslemesi veya satır başı değil, 32'den küçük, 126'dan büyük) öğrenmek için bu işlevi çağır
QEncode Bazı verileri "Q" kodlama kullanarak dönüştürmek için bu işlevi çağırın.
QEncodeGetRequiredLength Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.
QPDecode QPEncode'a önceki bir çağrı gibi tırnak içinde yazdırılabilir biçimde kodlanmış bir veri dizesinin kodunu çözer.
QPDecodeGetRequiredLength Belirtilen uzunlukta sınırlandırılmış yazdırılabilir biçimde kodlanmış bir dizeden çözülmüş verileri içerebilen bir arabelleğin bayt cinsinden boyutunu almak için bu işlevi çağırın.
QPEncode Bazı verileri sınırlandırılmış yazdırılabilir biçimde kodlamak için bu işlevi çağırın.
QPEncodeGetRequiredLength Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.
UUDecode UUEncode'a önceki bir çağrı gibi uuencoded olan bir veri dizesinin kodunu çözer.
UUDecodeGetRequiredLength Belirtilen uzunlukta uuencoded olarak kodlanmış bir dizeden çözülmüş verileri içerebilen bir arabelleğin bayt cinsinden boyutunu almak için bu işlevi çağırın.
UUEncode Bazı verileri uuencode olarak kodlamak için bu işlevi çağırın.
UUEncodeGetRequiredLength Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.

Gereksinimler

Üst bilgi: atlenc.h

AtlGetHexValue

Onaltılık basamağın sayısal değerini almak için bu işlevi çağırın.

inline char AtlGetHexValue(char chIn) throw();

Parametreler

çene
'0'-'9', 'A'-'F' veya 'a'-'f' onaltılık karakteri.

Dönüş Değeri

Onaltılık basamak olarak yorumlanan giriş karakterinin sayısal değeri. Örneğin, '0' girişi 0 değerini, 'A' girişi ise 10 değerini döndürür. Giriş karakteri onaltılık bir basamak değilse, bu işlev -1 döndürür.

AtlGetVersion

Kullanmakta olduğunuz ATL kitaplığının sürümünü almak için bu işlevi çağırın.

ATLAPI_(DWORD) AtlGetVersion(void* pReserved);

Parametreler

Korunmuş
Ayrılmış işaretçi.

Dönüş Değeri

Derlediğiniz veya çalıştırdığınız ATL kitaplığı sürümünün DWORD tamsayı değerini döndürür.

Örnek

İşlev aşağıdaki gibi çağrılmalıdır.

DWORD ver;
ver = AtlGetVersion(NULL);   

Gereksinimler

Üst bilgi: atlbase.h

AtlHexDecode

AtlHexEncode'a yapılan önceki bir çağrı gibi onaltılık metin olarak kodlanmış bir veri dizesinin kodunu çözer.

inline BOOL AtlHexDecode(
   LPCSTR pSrcData,
   int nSrcLen,
   LPBYTE pbDest,
   int* pnDestLen) throw();

Parametreler

pSrcData
Çözülecek verileri içeren dize.

nSrcLen
pSrcData karakterlerinin uzunluğu.

pbDest
Kodu çözülen verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
PbDest bayt cinsinden uzunluğu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan bayt sayısını alır. İşlev başarısız olursa, değişken gerekli uzunluğu arabelleğinde bayt cinsinden alır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

AtlHexDecodeGetRequiredLength

Belirtilen uzunlukta onaltılık kodlanmış bir dizeden çözülmüş verileri içerebilen bir arabelleğin bayt cinsinden boyutunu almak için bu işlevi çağırın.

inline int AtlHexDecodeGetRequiredLength(int nSrcLen) throw();

Parametreler

nSrcLen
Kodlanmış dizedeki karakter sayısı.

Dönüş Değeri

Kodu çözülen nSrcLen karakter dizesini barındırabilen bir arabellek için gereken bayt sayısı.

AtlHexEncode

Herhangi bir veriyi onaltılık bir metin dizesi olarak kodlamak için bu işlevi çağırın.

inline BOOL AtlHexEncode(
   const BYTE * pbSrcData,
   int nSrcLen,
   LPSTR szDest,
int * pnDestLen) throw();

Parametreler

pbSrcData
Kodlanacak verileri içeren arabellek.

nSrcLen
Kodlanacak verilerin bayt cinsinden uzunluğu.

szDest
Kodlanmış verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
szDest karakterlerinin uzunluğunu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan karakter sayısını alır. İşlev başarısız olursa, değişken arabellek karakterleri cinsinden gerekli uzunluğu alır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Kaynak verilerin her baytı 2 onaltılık karakter olarak kodlanır.

AtlHexEncodeGetRequiredLength

Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.

inline int AtlHexEncodeGetRequiredLength(int nSrcLen) throw();

Parametreler

nSrcLen
Kodlanacak veri bayt sayısı.

Dönüş Değeri

Kodlanmış nSrcLen bayt verilerini tutabilen bir arabellek için gereken karakter sayısı.

AtlHexValue

Onaltılık basamağın sayısal değerini almak için bu işlevi çağırın.

inline short AtlHexValue(char chIn) throw();

Parametreler

çene
'0'-'9', 'A'-'F' veya 'a'-'f' onaltılık karakteri.

Dönüş Değeri

Onaltılık basamak olarak yorumlanan giriş karakterinin sayısal değeri. Örneğin, '0' girişi 0 değerini, 'A' girişi ise 10 değerini döndürür. Giriş karakteri onaltılık bir basamak değilse, bu işlev -1 döndürür.

AtlUnicodeToUTF8

Unicode dizesini UTF-8'e dönüştürmek için bu işlevi çağırın.

ATL_NOINLINE inline int AtlUnicodeToUTF8(
   LPCWSTR wszSrc,
   int nSrc,
   LPSTR szDest,
   int nDest) throw();

Parametreler

wszSrc
Dönüştürülecek Unicode dizesi

nSrc
Unicode dizesinin karakter uzunluğu.

szDest
Dönüştürülen dizeyi almak için çağıran tarafından ayrılan arabellek.

nDest
Arabelleğin bayt cinsinden uzunluğu.

Dönüş Değeri

Dönüştürülen dize için karakter sayısını döndürür.

Açıklamalar

Dönüştürülen dize için gereken arabelleğin boyutunu belirlemek için szDest ve nDest için 0 geçen bu işlevi çağırın.

BEncode

Bazı verileri "B" kodlama kullanarak dönüştürmek için bu işlevi çağırın.

inline BOOL BEncode(
   BYTE* pbSrcData,
   int nSrcLen,
   LPSTR szDest,
   int* pnDestLen,
   LPCSTR pszCharSet) throw();

Parametreler

pbSrcData
Kodlanacak verileri içeren arabellek.

nSrcLen
Kodlanacak verilerin bayt cinsinden uzunluğu.

szDest
Kodlanmış verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
szDest karakterlerinin uzunluğunu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan karakter sayısını alır. İşlev başarısız olursa, değişken arabellek karakterleri cinsinden gerekli uzunluğu alır.

pszCharSet
Dönüştürme için kullanılacak karakter kümesi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

"B" kodlama düzeni RFC 2047(https://www.ietf.org/rfc/rfc2047.txt içinde açıklanmıştır.

BEncodeGetRequiredLength

Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.

inline int BEncodeGetRequiredLength(int nSrcLen, int nCharsetLen) throw();

Parametreler

nSrcLen
Kodlanacak veri bayt sayısı.

nCharsetLen
Dönüştürme için kullanılacak karakter kümesinin karakter cinsinden uzunluğu.

Dönüş Değeri

Kodlanmış nSrcLen bayt verilerini tutabilen bir arabellek için gereken karakter sayısı.

Açıklamalar

"B" kodlama düzeni RFC 2047(https://www.ietf.org/rfc/rfc2047.txt içinde açıklanmıştır.

EscapeXML

XML'de kullanılması güvenli olmayan karakterleri güvenli eşdeğerlerine dönüştürmek için bu işlevi çağırın.

inline int EscapeXML(
   const wchar_t * szIn,
   int nSrcLen,
   wchar_t * szEsc,
   int nDestLen,
   DWORD dwFlags = ATL_ESC_FLAG_NONE) throw();

Parametreler

szIn
Dönüştürülecek dize.

nSrclen
Dönüştürülecek dizenin karakter uzunluğu.

szEsc
Dönüştürülen dizeyi almak için çağıran tarafından ayrılan arabellek.

nDestLen
Çağıran tarafından ayrılan arabelleğin karakterlerinin uzunluğu.

dwFlags
ATL_ESC Dönüştürmenin nasıl gerçekleştirildiğini açıklayan bayraklar.

  • varsayılan davranışı ATL_ESC_FLAG_NONE. Tırnak işaretleri ve kesme işaretleri dönüştürülmedi.
  • ATL_ESC_FLAG_ATTR Tırnak işaretleri ve kesme işaretleri sırasıyla ve " olarak ' dönüştürülür.

Dönüş Değeri

Dönüştürülen dizenin karakter uzunluğu.

Açıklamalar

Bu işlev tarafından gerçekleştirilen olası dönüştürmeler tabloda gösterilmiştir:

Kaynak Hedef
< <
> >
& &
' '
" "

GetExtendedChars

Bir dizede genişletilmiş karakter sayısını almak için bu işlevi çağırın.

inline int GetExtendedChars(LPCSTR szSrc, int nSrcLen) throw();

Parametreler

szSrc
Çözümlenecek dize.

nSrcLen
Dizenin karakter cinsinden uzunluğu.

Dönüş Değeri

IsExtendedChar tarafından belirlenen dize içinde bulunan genişletilmiş karakter sayısını döndürür.

IsExtendedChar

Belirli bir karakterin genişletilmiş karakter olup olmadığını (sekme, satır beslemesi veya satır başı değil, 32'den küçük, 126'dan büyük) öğrenmek için bu işlevi çağır

inline int IsExtendedChar(char ch) throw();

Parametreler

Caner
Test edilecek karakter

Dönüş Değeri

Karakter genişletilmişse DOĞRU, aksi takdirde YANLIŞ.

QEncode

Bazı verileri "Q" kodlama kullanarak dönüştürmek için bu işlevi çağırın.

inline BOOL QEncode(
   BYTE* pbSrcData,
   int nSrcLen,
   LPSTR szDest,
   int* pnDestLen,
   LPCSTR pszCharSet,
   int* pnNumEncoded = NULL) throw();

Parametreler

pbSrcData
Kodlanacak verileri içeren arabellek.

nSrcLen
Kodlanacak verilerin bayt cinsinden uzunluğu.

szDest
Kodlanmış verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
szDest karakterlerinin uzunluğunu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan karakter sayısını alır. İşlev başarısız olursa, değişken arabellek karakterleri cinsinden gerekli uzunluğu alır.

pszCharSet
Dönüştürme için kullanılacak karakter kümesi.

pnNumEncoded
Dönüşte dönüştürülmesi gereken güvenli olmayan karakter sayısını içeren bir değişken işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

"Q" kodlama düzeni RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt) içinde açıklanmıştır.

QEncodeGetRequiredLength

Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.

inline int QEncodeGetRequiredLength(int nSrcLen, int nCharsetLen) throw();

Parametreler

nSrcLen
Kodlanacak veri bayt sayısı.

nCharsetLen
Dönüştürme için kullanılacak karakter kümesinin karakter cinsinden uzunluğu.

Dönüş Değeri

Kodlanmış nSrcLen bayt verilerini tutabilen bir arabellek için gereken karakter sayısı.

Açıklamalar

"Q" kodlama düzeni RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt) içinde açıklanmıştır.

QPDecode

QPEncode'a önceki bir çağrı gibi tırnak içinde yazdırılabilir biçimde kodlanmış bir veri dizesinin kodunu çözer.

inline BOOL QPDecode(
   BYTE* pbSrcData,
   int nSrcLen,
   LPSTR szDest,
   int* pnDestLen,
   DWORD dwFlags = 0) throw();

Parametreler

pbSrcData
[in] Çözülecek verileri içeren arabellek.

nSrcLen
[in] pbSrcData bayt cinsinden uzunluk.

szDest
[out] Kodu çözülen verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
[out] SzDest bayt cinsinden uzunluğu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan bayt sayısını alır. İşlev başarısız olursa, değişken gerekli uzunluğu arabelleğinde bayt cinsinden alır.

dwFlags
[in] ATLSMTP_QPENCODE, dönüştürmenin nasıl gerçekleştirildiğini açıklayan bayraklar.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Tırnak içinde yazdırılabilir kodlama düzeni RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt) içinde açıklanmıştır.

QPDecodeGetRequiredLength

Belirtilen uzunlukta sınırlandırılmış yazdırılabilir biçimde kodlanmış bir dizeden çözülmüş verileri içerebilen bir arabelleğin bayt cinsinden boyutunu almak için bu işlevi çağırın.

inline int QPDecodeGetRequiredLength(int nSrcLen) throw();

Parametreler

nSrcLen
Kodlanmış dizedeki karakter sayısı.

Dönüş Değeri

Kodu çözülen nSrcLen karakter dizesini barındırabilen bir arabellek için gereken bayt sayısı.

Açıklamalar

Tırnak içinde yazdırılabilir kodlama düzeni RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt) içinde açıklanmıştır.

QPEncode

Bazı verileri sınırlandırılmış yazdırılabilir biçimde kodlamak için bu işlevi çağırın.

inline BOOL QPEncode(
   BYTE* pbSrcData,
   int nSrcLen,
   LPSTR szDest,
   int* pnDestLen,
   DWORD dwFlags = 0) throw ();

Parametreler

pbSrcData
Kodlanacak verileri içeren arabellek.

nSrcLen
Kodlanacak verilerin bayt cinsinden uzunluğu.

szDest
Kodlanmış verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
szDest karakterlerinin uzunluğunu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan karakter sayısını alır. İşlev başarısız olursa, değişken arabellek karakterleri cinsinden gerekli uzunluğu alır.

dwFlags
ATLSMTP_QPENCODE, dönüştürmenin nasıl gerçekleştirildiğini açıklayan bayraklar.

  • ATLSMTP_QPENCODE_DOT Satırın başında nokta görünürse, hem çıkışa eklenir hem de kodlanır.

  • ATLSMTP_QPENCODE_TRAILING_SOFT Kodlanmış dizeye ekler =\r\n .

Tırnak içinde yazdırılabilir kodlama düzeni RFC 2045'te açıklanmıştır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Tırnak içinde yazdırılabilir kodlama düzeni RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt) içinde açıklanmıştır.

QPEncodeGetRequiredLength

Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.

inline int QPEncodeGetRequiredLength(int nSrcLen) throw ();

Parametreler

nSrcLen
Kodlanacak veri bayt sayısı.

Dönüş Değeri

Kodlanmış nSrcLen bayt verilerini tutabilen bir arabellek için gereken karakter sayısı.

Açıklamalar

Tırnak içinde yazdırılabilir kodlama düzeni RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt) içinde açıklanmıştır.

UUDecode

UUEncode'a önceki bir çağrı gibi uuencoded olan bir veri dizesinin kodunu çözer.

inline BOOL UUDecode(
   BYTE* pbSrcData,
   int nSrcLen,
   BYTE* pbDest,
   int* pnDestLen) throw ();

Parametreler

pbSrcData
Çözülecek verileri içeren dize.

nSrcLen
pbSrcData bayt cinsinden uzunluk.

pbDest
Kodu çözülen verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
PbDest bayt cinsinden uzunluğu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan bayt sayısını alır. İşlev başarısız olursa, değişken gerekli uzunluğu arabelleğinde bayt cinsinden alır.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Bu uuencoding uygulaması POSIX P1003.2b/D11 belirtimini izler.

UUDecodeGetRequiredLength

Belirtilen uzunlukta uuencoded olarak kodlanmış bir dizeden çözülmüş verileri içerebilen bir arabelleğin bayt cinsinden boyutunu almak için bu işlevi çağırın.

inline int UUDecodeGetRequiredLength(int nSrcLen) throw ();

Parametreler

nSrcLen
Kodlanmış dizedeki karakter sayısı.

Dönüş Değeri

Kodu çözülen nSrcLen karakter dizesini barındırabilen bir arabellek için gereken bayt sayısı.

Açıklamalar

Bu uuencoding uygulaması POSIX P1003.2b/D11 belirtimini izler.

UUEncode

Bazı verileri uuencode olarak kodlamak için bu işlevi çağırın.

inline BOOL UUEncode(
   const BYTE* pbSrcData,
   int nSrcLen,
   LPSTR szDest,
   int* pnDestLen,
   LPCTSTR lpszFile = _T("file"),
   DWORD dwFlags = 0) throw ();

Parametreler

pbSrcData
Kodlanacak verileri içeren arabellek.

nSrcLen
Kodlanacak verilerin bayt cinsinden uzunluğu.

szDest
Kodlanmış verileri almak için çağıran tarafından ayrılan arabellek.

pnDestLen
szDest karakterlerinin uzunluğunu içeren bir değişkenin işaretçisi. İşlev başarılı olursa değişken arabelleğe yazılan karakter sayısını alır. İşlev başarısız olursa, değişken arabellek karakterleri cinsinden gerekli uzunluğu alır.

lpszFile
ATLSMTP_UUENCODE_HEADER dwFlags içinde belirtildiğinde üst bilgisine eklenecek dosya.

dwFlags
Bu işlevin davranışını denetleen bayraklar.

  • ATLSMTP_UUENCODE_HEADE Üst bilgi kodlanır.

  • ATLSMTP_UUENCODE_END Uç kodlanır.

  • ATLSMTP_UUENCODE_DOT Veri doldurma gerçekleştirilir.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Bu uuencoding uygulaması POSIX P1003.2b/D11 belirtimini izler.

UUEncodeGetRequiredLength

Belirtilen boyutta veriyle kodlanmış bir dizeyi içerebilen bir arabelleğin karakter cinsinden boyutunu almak için bu işlevi çağırın.

inline int UUEncodeGetRequiredLength(int nSrcLen) throw ();

Parametreler

nSrcLen
Kodlanacak veri bayt sayısı.

Dönüş Değeri

Kodlanmış nSrcLen bayt verilerini tutabilen bir arabellek için gereken karakter sayısı.

Açıklamalar

Bu uuencoding uygulaması POSIX P1003.2b/D11 belirtimini izler.

Ayrıca bkz.

Kavramlar
ATL COM Masaüstü Bileşenleri