Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Det aktiva mallbiblioteket (ATL) stöds fortfarande. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.
Dessa funktioner stöder textkodning och avkodning.
| Funktion | Description |
|---|---|
| AtlGetHexValue | Anropa den här funktionen för att hämta det numeriska värdet för en hexadecimal siffra. |
| AtlGetVersion | Anropa den här funktionen för att hämta den version av ATL-biblioteket som du använder. |
| AtlHexDecode | Avkodar en datasträng som har kodats som hexadecimal text, till exempel vid ett tidigare anrop till AtlHexEncode. |
| AtlHexDecodeGetRequiredLength | Anropa den här funktionen för att hämta storleken i byte för en buffert som kan innehålla data som avkodas från en hexkodad sträng med den angivna längden. |
| AtlHexEncode | Anropa den här funktionen för att koda vissa data som en sträng med hexadecimal text. |
| AtlHexEncodeGetRequiredLength | Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken. |
| AtlHexValue | Anropa den här funktionen för att hämta det numeriska värdet för en hexadecimal siffra. |
| AtlUnicodeToUTF8 | Anropa den här funktionen för att konvertera en Unicode-sträng till UTF-8. |
| BEncode | Anropa den här funktionen för att konvertera vissa data med hjälp av "B"-kodningen. |
| BEncodeGetRequiredLength | Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken. |
| EscapeXML | Anropa den här funktionen för att konvertera tecken som är osäkra för användning i XML till deras säkra motsvarigheter. |
| GetExtendedChars | Anropa den här funktionen för att hämta antalet utökade tecken i en sträng. |
| IsExtendedChar | Anropa den här funktionen för att ta reda på om ett visst tecken är ett utökat tecken (mindre än 32, större än 126 och inte en flik, radmatning eller vagnretur) |
| QEncode | Anropa den här funktionen för att konvertera vissa data med hjälp av "Q"-kodningen. |
| QEncodeGetRequiredLength | Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken. |
| QPDecode | Avkodar en datasträng som har kodats i ett format som kan skrivas ut, till exempel vid ett tidigare anrop till QPEncode. |
| QPDecodeGetRequiredLength | Anropa den här funktionen för att hämta storleken på en buffert i byte som kan innehålla data avkodad från en quoted-printable-kodad sträng av angiven längd. |
| QPEncode | Anropa den här funktionen för att koda vissa data i format som kan skrivas ut med citattecken. |
| QPEncodeGetRequiredLength | Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken. |
| UUDecode | Avkodar en datasträng som har uuenkodats, till exempel av en tidigare kallning till UUEncode. |
| UUDecodeGetRequiredLength | Anropa den här funktionen för att hämta storleken i byte för en buffert som kan innehålla data som avkodas från en uuencoded-sträng med den angivna längden. |
| UUEncode | Anropa den här funktionen för att uuencode vissa data. |
| UUEncodeGetRequiredLength | Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken. |
Kravspecifikation
Rubrik: atlenc.h
AtlGetHexValue
Anropa den här funktionen för att hämta det numeriska värdet för en hexadecimal siffra.
inline char AtlGetHexValue(char chIn) throw();
Parameterar
Haka
Det hexadecimala tecknet '0'-'9', 'A'-'F' eller 'a'-'f'.
Returvärde
Det numeriska värdet för indatatecknet tolkat som en hexadecimal siffra. Ett indata av "0" returnerar till exempel värdet 0 och ett indata för "A" returnerar värdet 10. Om indatatecknet inte är en hexadecimal siffra returnerar den här funktionen -1.
AtlGetVersion
Anropa den här funktionen för att hämta den version av ATL-biblioteket som du använder.
ATLAPI_(DWORD) AtlGetVersion(void* pReserved);
Parameterar
Bevarade
En reserverad pekare.
Returvärde
Returnerar ett DWORD-heltalsvärde för den version av ATL-biblioteket som du kompilerar eller kör.
Example
Funktionen ska anropas på följande sätt.
DWORD ver;
ver = AtlGetVersion(NULL);
Kravspecifikation
Rubrik: atlbase.h
AtlHexDecode
Avkodar en datasträng som har kodats som hexadecimal text, till exempel vid ett tidigare anrop till AtlHexEncode.
inline BOOL AtlHexDecode(
LPCSTR pSrcData,
int nSrcLen,
LPBYTE pbDest,
int* pnDestLen) throw();
Parameterar
pSrcData
Strängen som innehåller de data som ska avkodas.
nSrcLen
Längden i tecken i pSrcData.
pbDest
Anroparens allokerade buffert för att ta emot de avkodade data.
pnDestLen
Pekare till en variabel som innehåller längden i byte av pbDest. Om funktionen lyckas tar variabeln emot antalet byte som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i byte av bufferten.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
AtlHexDecodeGetRequiredLength
Anropa den här funktionen för att hämta storleken i byte för en buffert som kan innehålla data som avkodas från en hexkodad sträng med den angivna längden.
inline int AtlHexDecodeGetRequiredLength(int nSrcLen) throw();
Parameterar
nSrcLen
Antalet tecken i den kodade strängen.
Returvärde
Antalet byte som krävs för en buffert som kan innehålla en avkodad sträng med nSrcLen-tecken .
AtlHexEncode
Anropa den här funktionen för att koda vissa data som en sträng med hexadecimal text.
inline BOOL AtlHexEncode(
const BYTE * pbSrcData,
int nSrcLen,
LPSTR szDest,
int * pnDestLen) throw();
Parameterar
pbSrcData
Bufferten som innehåller de data som ska kodas.
nSrcLen
Längden i byte av de data som ska kodas.
szDest
Anroparens allokerade buffert för att ta emot kodade data.
pnDestLen
Pekare till en variabel som innehåller längden i tecken i szDest. Om funktionen lyckas tar variabeln emot antalet tecken som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i buffertens tecken.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
Anmärkningar
Varje byte av källdata kodas som 2 hexadecimala tecken.
AtlHexEncodeGetRequiredLength
Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken.
inline int AtlHexEncodeGetRequiredLength(int nSrcLen) throw();
Parameterar
nSrcLen
Antalet byte med data som ska kodas.
Returvärde
Antalet tecken som krävs för en buffert som kan innehålla kodade data för nSrcLen-byte .
AtlHexValue
Anropa den här funktionen för att hämta det numeriska värdet för en hexadecimal siffra.
inline short AtlHexValue(char chIn) throw();
Parameterar
Haka
Det hexadecimala tecknet '0'-'9', 'A'-'F' eller 'a'-'f'.
Returvärde
Det numeriska värdet för indatatecknet tolkat som en hexadecimal siffra. Ett indata av "0" returnerar till exempel värdet 0 och ett indata för "A" returnerar värdet 10. Om indatatecknet inte är en hexadecimal siffra returnerar den här funktionen -1.
AtlUnicodeToUTF8
Anropa den här funktionen för att konvertera en Unicode-sträng till UTF-8.
ATL_NOINLINE inline int AtlUnicodeToUTF8(
LPCWSTR wszSrc,
int nSrc,
LPSTR szDest,
int nDest) throw();
Parameterar
wszSrc
Unicode-strängen som ska konverteras
nSrc
Längden på tecken i Unicode-strängen.
szDest
Anroparallokerad buffert för att ta emot den konverterade strängen.
nDest
Längden i byte för bufferten.
Returvärde
Returnerar antalet tecken för den konverterade strängen.
Anmärkningar
För att fastställa storleken på bufferten som krävs för den konverterade strängen anropar du den här funktionen som skickar 0 för szDest och nDest.
BEncode
Anropa den här funktionen för att konvertera vissa data med hjälp av "B"-kodningen.
inline BOOL BEncode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
LPCSTR pszCharSet) throw();
Parameterar
pbSrcData
Bufferten som innehåller de data som ska kodas.
nSrcLen
Längden i byte av de data som ska kodas.
szDest
Anroparens allokerade buffert för att ta emot kodade data.
pnDestLen
Pekare till en variabel som innehåller längden i tecken i szDest. Om funktionen lyckas tar variabeln emot antalet tecken som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i buffertens tecken.
pszCharSet
Teckenuppsättningen som ska användas för konverteringen.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
Anmärkningar
Kodningsschemat "B" beskrivs i RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
BEncodeGetRequiredLength
Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken.
inline int BEncodeGetRequiredLength(int nSrcLen, int nCharsetLen) throw();
Parameterar
nSrcLen
Antalet byte med data som ska kodas.
nCharsetLen
Längden på tecken i teckenuppsättningen som ska användas för konverteringen.
Returvärde
Antalet tecken som krävs för en buffert som kan innehålla kodade data för nSrcLen-byte .
Anmärkningar
Kodningsschemat "B" beskrivs i RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
EscapeXML
Anropa den här funktionen för att konvertera tecken som är osäkra för användning i XML till deras säkra motsvarigheter.
inline int EscapeXML(
const wchar_t * szIn,
int nSrcLen,
wchar_t * szEsc,
int nDestLen,
DWORD dwFlags = ATL_ESC_FLAG_NONE) throw();
Parameterar
szIn
Strängen som ska konverteras.
nSrclen
Längden på tecken i strängen som ska konverteras.
szEsc
Anroparallokerad buffert för att ta emot den konverterade strängen.
nDestLen
Längden på tecken i den anroparallokerade bufferten.
dwFlags
ATL_ESC Flaggor som beskriver hur konverteringen ska utföras.
- ATL_ESC_FLAG_NONE Standardbeteende. Citattecken och apostrofer konverteras inte.
- ATL_ESC_FLAG_ATTR Citattecken och apostrofer konverteras till
"'respektive.
Returvärde
Längden på tecken i den konverterade strängen.
Anmärkningar
Möjliga konverteringar som utförs av den här funktionen visas i tabellen:
| Källa | Resmål |
|---|---|
| < | < |
| > | > |
| & | & |
| ' | ' |
| " | " |
GetExtendedChars
Anropa den här funktionen för att hämta antalet utökade tecken i en sträng.
inline int GetExtendedChars(LPCSTR szSrc, int nSrcLen) throw();
Parameterar
szSrc
Strängen som ska analyseras.
nSrcLen
Längden på strängen i tecken.
Returvärde
Returnerar antalet utökade tecken som finns i strängen enligt IsExtendedChar.
IsExtendedChar
Anropa den här funktionen för att ta reda på om ett visst tecken är ett utökat tecken (mindre än 32, större än 126 och inte en flik, radmatning eller vagnretur)
inline int IsExtendedChar(char ch) throw();
Parameterar
Ch
Tecknet som ska testas
Returvärde
SANT om tecknet utökas, ANNARS FALSKT.
QEncode
Anropa den här funktionen för att konvertera vissa data med hjälp av "Q"-kodningen.
inline BOOL QEncode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
LPCSTR pszCharSet,
int* pnNumEncoded = NULL) throw();
Parameterar
pbSrcData
Bufferten som innehåller de data som ska kodas.
nSrcLen
Längden i byte av de data som ska kodas.
szDest
Anroparens allokerade buffert för att ta emot kodade data.
pnDestLen
Pekare till en variabel som innehåller längden i tecken i szDest. Om funktionen lyckas tar variabeln emot antalet tecken som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i buffertens tecken.
pszCharSet
Teckenuppsättningen som ska användas för konverteringen.
pnNumEncoded
En pekare till en variabel som vid retur innehåller antalet osäkra tecken som måste konverteras.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
Anmärkningar
Kodningsschemat "Q" beskrivs i RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
QEncodeGetRequiredLength
Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken.
inline int QEncodeGetRequiredLength(int nSrcLen, int nCharsetLen) throw();
Parameterar
nSrcLen
Antalet byte med data som ska kodas.
nCharsetLen
Längden på tecken i teckenuppsättningen som ska användas för konverteringen.
Returvärde
Antalet tecken som krävs för en buffert som kan innehålla kodade data för nSrcLen-byte .
Anmärkningar
Kodningsschemat "Q" beskrivs i RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).
QPDecode
Avkodar en datasträng som har kodats i ett format som kan skrivas ut, till exempel vid ett tidigare anrop till QPEncode.
inline BOOL QPDecode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
DWORD dwFlags = 0) throw();
Parameterar
pbSrcData
[i] Bufferten som innehåller de data som ska avkodas.
nSrcLen
[i] Längden i byte av pbSrcData.
szDest
[ut] Anroparens allokerade buffert för att ta emot de avkodade data.
pnDestLen
[ut] Pekare till en variabel som innehåller längden i byte av szDest. Om funktionen lyckas tar variabeln emot antalet byte som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i byte av bufferten.
dwFlags
[i] ATLSMTP_QPENCODE flaggor som beskriver hur konverteringen ska utföras.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
Anmärkningar
Det angivna utskrivbara kodningsschemat beskrivs i RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
QPDecodeGetRequiredLength
Anropa den här funktionen för att hämta storleken på en buffert i byte som kan innehålla data avkodad från en quoted-printable-kodad sträng av angiven längd.
inline int QPDecodeGetRequiredLength(int nSrcLen) throw();
Parameterar
nSrcLen
Antalet tecken i den kodade strängen.
Returvärde
Antalet byte som krävs för en buffert som kan innehålla en avkodad sträng med nSrcLen-tecken .
Anmärkningar
Det angivna utskrivbara kodningsschemat beskrivs i RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
QPEncode
Anropa den här funktionen för att koda vissa data i format som kan skrivas ut med citattecken.
inline BOOL QPEncode(
BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
DWORD dwFlags = 0) throw ();
Parameterar
pbSrcData
Bufferten som innehåller de data som ska kodas.
nSrcLen
Längden i byte av de data som ska kodas.
szDest
Anroparens allokerade buffert för att ta emot kodade data.
pnDestLen
Pekare till en variabel som innehåller längden i tecken i szDest. Om funktionen lyckas tar variabeln emot antalet tecken som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i buffertens tecken.
dwFlags
ATLSMTP_QPENCODE flaggor som beskriver hur konverteringen ska utföras.
ATLSMTP_QPENCODE_DOT Om en punkt visas i början av en rad läggs den till i utdata och kodas.
ATLSMTP_QPENCODE_TRAILING_SOFT Lägger till
=\r\ni den kodade strängen.
Det angivna utskrivbara kodningsschemat beskrivs i RFC 2045.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
Anmärkningar
Det angivna utskrivbara kodningsschemat beskrivs i RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
QPEncodeGetRequiredLength
Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken.
inline int QPEncodeGetRequiredLength(int nSrcLen) throw ();
Parameterar
nSrcLen
Antalet byte med data som ska kodas.
Returvärde
Antalet tecken som krävs för en buffert som kan innehålla kodade data för nSrcLen-byte .
Anmärkningar
Det angivna utskrivbara kodningsschemat beskrivs i RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).
UUDecode
Avkodar en datasträng som har uuenkodats, till exempel av en tidigare kallning till UUEncode.
inline BOOL UUDecode(
BYTE* pbSrcData,
int nSrcLen,
BYTE* pbDest,
int* pnDestLen) throw ();
Parameterar
pbSrcData
Strängen som innehåller de data som ska avkodas.
nSrcLen
Längden i byte av pbSrcData.
pbDest
Anroparens allokerade buffert för att ta emot de avkodade data.
pnDestLen
Pekare till en variabel som innehåller längden i byte av pbDest. Om funktionen lyckas tar variabeln emot antalet byte som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i byte av bufferten.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
Anmärkningar
Denna implementering av uuencoding följer POSIX P1003.2b/D11-specifikationen.
UUDecodeGetRequiredLength
Anropa den här funktionen för att hämta storleken i byte för en buffert som kan innehålla data som avkodas från en uuencoded-sträng med den angivna längden.
inline int UUDecodeGetRequiredLength(int nSrcLen) throw ();
Parameterar
nSrcLen
Antalet tecken i den kodade strängen.
Returvärde
Antalet byte som krävs för en buffert som kan innehålla en avkodad sträng med nSrcLen-tecken .
Anmärkningar
Denna implementering av uuencoding följer POSIX P1003.2b/D11-specifikationen.
Uuencode
Anropa den här funktionen för att uuencode vissa data.
inline BOOL UUEncode(
const BYTE* pbSrcData,
int nSrcLen,
LPSTR szDest,
int* pnDestLen,
LPCTSTR lpszFile = _T("file"),
DWORD dwFlags = 0) throw ();
Parameterar
pbSrcData
Bufferten som innehåller de data som ska kodas.
nSrcLen
Längden i byte av de data som ska kodas.
szDest
Anroparens allokerade buffert för att ta emot kodade data.
pnDestLen
Pekare till en variabel som innehåller längden i tecken i szDest. Om funktionen lyckas tar variabeln emot antalet tecken som skrivits till bufferten. Om funktionen misslyckas får variabeln den längd som krävs i buffertens tecken.
lpszFile
Filen som ska läggas till i rubriken när ATLSMTP_UUENCODE_HEADER anges i dwFlags.
dwFlags
Flaggor som styr funktionens beteende.
ATLSMTP_UUENCODE_HEADE Rubriken kodas.
ATLSMTP_UUENCODE_END Slutet kodas.
ATLSMTP_UUENCODE_DOT Datafyllning utförs.
Returvärde
Returnerar TRUE vid lyckad, FALSE vid fel.
Anmärkningar
Denna implementering av uuencoding följer POSIX P1003.2b/D11-specifikationen.
UUEncodeGetRequiredLength
Anropa den här funktionen för att hämta storleken på tecken i en buffert som kan innehålla en sträng som kodas från data med den angivna storleken.
inline int UUEncodeGetRequiredLength(int nSrcLen) throw ();
Parameterar
nSrcLen
Antalet byte med data som ska kodas.
Returvärde
Antalet tecken som krävs för en buffert som kan innehålla kodade data för nSrcLen-byte .
Anmärkningar
Denna implementering av uuencoding följer POSIX P1003.2b/D11-specifikationen.