Delen via


ATL Text Encoding Functions

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze functies ondersteunen tekstcodering en -decodering.

Functie Description
AtlGetHexValue Roep deze functie aan om de numerieke waarde van een hexadecimaal cijfer op te halen.
AtlGetVersion Roep deze functie aan om de versie van de ATL-bibliotheek op te halen die u gebruikt.
AtlHexDecode Decodeert een tekenreeks met gegevens die zijn gecodeerd als hexadecimale tekst, zoals door een eerdere aanroep naar AtlHexEncode.
AtlHexDecodeGetRequiredLength Roep deze functie aan om de grootte op te halen in bytes van een buffer die gegevens kan bevatten die zijn gedecodeerd van een hex-gecodeerde tekenreeks van de opgegeven lengte.
AtlHexEncode Roep deze functie aan om bepaalde gegevens te coderen als een tekenreeks met hexadecimale tekst.
AtlHexEncodeGetRequiredLength Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.
AtlHexValue Roep deze functie aan om de numerieke waarde van een hexadecimaal cijfer op te halen.
AtlUnicodeToUTF8 Roep deze functie aan om een Unicode-tekenreeks te converteren naar UTF-8.
BEncode Roep deze functie aan om bepaalde gegevens te converteren met behulp van de codering 'B'.
BEncodeGetRequiredLength Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.
EscapeXML Roep deze functie aan om tekens te converteren die onveilig zijn voor gebruik in XML naar hun veilige equivalenten.
GetExtendedChars Roep deze functie aan om het aantal uitgebreide tekens in een tekenreeks op te halen.
IsExtendedChar Roep deze functie aan om erachter te komen of een bepaald teken een uitgebreid teken is (kleiner dan 32, groter dan 126 en geen tab, regelinvoer of regelterugloop)
QEncode Roep deze functie aan om bepaalde gegevens te converteren met behulp van de Q-codering.
QEncodeGetRequiredLength Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.
QPDecode Decodeert een tekenreeks van gegevens die werden gecodeerd in quoted-printable formaat, zoals door een eerdere aanroep naar QPEncode.
QPDecodeGetRequiredLength Roep deze functie aan om de grootte in bytes van een buffer op te halen die gegevens kan bevatten gedecodeerd uit een quoted-printable-gecodeerde string van de opgegeven lengte.
QPEncode Roep deze functie aan om enkele gegevens in de quoted-printable-indeling te coderen.
QPEncodeGetRequiredLength Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.
UUDecode Decodeert een tekenreeks met gegevens die is uuencoded, zoals door een eerdere aanroep van UUEncode.
UUDecodeGetRequiredLength Roep deze functie aan om de grootte in bytes op te halen van een buffer die gegevens kan bevatten, gedecodeerd uit een uuencoded string met de opgegeven lengte.
UUEncode Roep deze functie aan om bepaalde gegevens te coderen.
UUEncodeGetRequiredLength Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.

Requirements

Koptekst: atlenc.h

AtlGetHexValue

Roep deze functie aan om de numerieke waarde van een hexadecimaal cijfer op te halen.

inline char AtlGetHexValue(char chIn) throw();

Parameterwaarden

Kin
Het hexadecimale teken '0'-'9', 'A'-'F' of 'a'-'f'.

Retourwaarde

De numerieke waarde van het invoerteken dat wordt geïnterpreteerd als een hexadecimaal cijfer. Een invoer van '0' retourneert bijvoorbeeld een waarde van 0 en een invoer van 'A' retourneert een waarde van 10. Als het invoerteken geen hexadecimaal cijfer is, retourneert deze functie -1.

AtlGetVersion

Roep deze functie aan om de versie van de ATL-bibliotheek op te halen die u gebruikt.

ATLAPI_(DWORD) AtlGetVersion(void* pReserved);

Parameterwaarden

Bewaard
Een gereserveerde aanwijzer.

Retourwaarde

Hiermee wordt een DWORD-geheel getal geretourneerd van de versie van de ATL-bibliotheek die u compileert of uitvoert.

Example

De functie moet als volgt worden aangeroepen.

DWORD ver;
ver = AtlGetVersion(NULL);   

Requirements

Header: atlbase.h

AtlHexDecode

Decodeert een tekenreeks met gegevens die zijn gecodeerd als hexadecimale tekst, zoals door een eerdere aanroep naar AtlHexEncode.

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

Parameterwaarden

pSrcData
De tekenreeks met de gegevens die moeten worden gedecodeerd.

nSrcLen
De lengte in tekens van pSrcData.

pbDest
Aanroeper toegewezen buffer voor het ontvangen van de gedecodeerde gegevens.

pnDestLen
Wijs een variabele aan die de lengte in bytes van pbDest bevat. Als de functie slaagt, ontvangt de variabele het aantal bytes dat naar de buffer is geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in bytes van de buffer.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

AtlHexDecodeGetRequiredLength

Roep deze functie aan om de grootte op te halen in bytes van een buffer die gegevens kan bevatten die zijn gedecodeerd van een hex-gecodeerde tekenreeks van de opgegeven lengte.

inline int AtlHexDecodeGetRequiredLength(int nSrcLen) throw();

Parameterwaarden

nSrcLen
Het aantal tekens in de gecodeerde tekenreeks.

Retourwaarde

Het aantal bytes dat is vereist voor een buffer die een gedecodeerde tekenreeks van nSrcLen-tekens kan bevatten.

AtlHexEncode

Roep deze functie aan om bepaalde gegevens te coderen als een tekenreeks met hexadecimale tekst.

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

Parameterwaarden

pbSrcData
De buffer met de gegevens die moeten worden gecodeerd.

nSrcLen
De lengte in bytes van de gegevens die moeten worden gecodeerd.

szDest
Aanroeper toegewezen buffer voor het ontvangen van de gecodeerde gegevens.

pnDestLen
Wijs een variabele aan die de lengte in tekens van szDest bevat. Als de functie slaagt, ontvangt de variabele het aantal tekens dat naar de buffer wordt geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in tekens van de buffer.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Elke byte van brongegevens wordt gecodeerd als 2 hexadecimale tekens.

AtlHexEncodeGetRequiredLength

Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.

inline int AtlHexEncodeGetRequiredLength(int nSrcLen) throw();

Parameterwaarden

nSrcLen
Het aantal te coderen bytes aan gegevens.

Retourwaarde

Het aantal tekens dat is vereist voor een buffer die gecodeerde gegevens van nSrcLen-bytes kan bevatten.

AtlHexValue

Roep deze functie aan om de numerieke waarde van een hexadecimaal cijfer op te halen.

inline short AtlHexValue(char chIn) throw();

Parameterwaarden

Kin
Het hexadecimale teken '0'-'9', 'A'-'F' of 'a'-'f'.

Retourwaarde

De numerieke waarde van het invoerteken dat wordt geïnterpreteerd als een hexadecimaal cijfer. Een invoer van '0' retourneert bijvoorbeeld een waarde van 0 en een invoer van 'A' retourneert een waarde van 10. Als het invoerteken geen hexadecimaal cijfer is, retourneert deze functie -1.

AtlUnicodeToUTF8

Roep deze functie aan om een Unicode-tekenreeks te converteren naar UTF-8.

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

Parameterwaarden

wszSrc
De Unicode-tekenreeks die moet worden geconverteerd

nSrc
De lengte in tekens van de Unicode-tekenreeks.

szDest
Aanroeper toegewezen buffer voor het ontvangen van de geconverteerde tekenreeks.

nDest
De lengte in bytes van de buffer.

Retourwaarde

Retourneert het aantal tekens voor de geconverteerde tekenreeks.

Opmerkingen

Als u de grootte van de buffer wilt bepalen die is vereist voor de geconverteerde tekenreeks, roept u deze functie aan die 0 doorgeeft voor szDest en nDest.

BEncode

Roep deze functie aan om bepaalde gegevens te converteren met behulp van de codering 'B'.

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

Parameterwaarden

pbSrcData
De buffer met de gegevens die moeten worden gecodeerd.

nSrcLen
De lengte in bytes van de gegevens die moeten worden gecodeerd.

szDest
Aanroeper toegewezen buffer voor het ontvangen van de gecodeerde gegevens.

pnDestLen
Wijs een variabele aan die de lengte in tekens van szDest bevat. Als de functie slaagt, ontvangt de variabele het aantal tekens dat naar de buffer wordt geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in tekens van de buffer.

pszCharSet
De tekenset die moet worden gebruikt voor de conversie.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Het coderingsschema B wordt beschreven in RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).

BEncodeGetRequiredLength

Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.

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

Parameterwaarden

nSrcLen
Het aantal te coderen bytes aan gegevens.

nCharsetLen
De lengte in tekens van de tekenset die moet worden gebruikt voor de conversie.

Retourwaarde

Het aantal tekens dat is vereist voor een buffer die gecodeerde gegevens van nSrcLen-bytes kan bevatten.

Opmerkingen

Het coderingsschema B wordt beschreven in RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).

EscapeXML

Roep deze functie aan om tekens te converteren die onveilig zijn voor gebruik in XML naar hun veilige equivalenten.

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

Parameterwaarden

szIn
De tekenreeks die moet worden geconverteerd.

nSrclen
De lengte in tekens van de tekenreeks die moet worden geconverteerd.

szEsc
Aanroeper toegewezen buffer voor het ontvangen van de geconverteerde tekenreeks.

nDestLen
De lengte in tekens van de aanroeper toegewezen buffer.

dwFlags
ATL_ESC vlaggen die beschrijven hoe de conversie moet worden uitgevoerd.

  • ATL_ESC_FLAG_NONE standaardgedrag. Aanhalingstekens en apostrofs worden niet geconverteerd.
  • ATL_ESC_FLAG_ATTR aanhalingstekens en apostrofs worden geconverteerd naar " respectievelijk ' .

Retourwaarde

De lengte in tekens van de geconverteerde tekenreeks.

Opmerkingen

Mogelijke conversies die door deze functie worden uitgevoerd, worden weergegeven in de tabel:

Bron Bestemming
< <
> >
& &;
' '
" "

GetExtendedChars

Roep deze functie aan om het aantal uitgebreide tekens in een tekenreeks op te halen.

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

Parameterwaarden

szSrc
De tekenreeks die moet worden geanalyseerd.

nSrcLen
De lengte van de tekenreeks in tekens.

Retourwaarde

Retourneert het aantal uitgebreide tekens dat in de tekenreeks is gevonden, zoals bepaald door IsExtendedChar.

IsExtendedChar

Roep deze functie aan om erachter te komen of een bepaald teken een uitgebreid teken is (kleiner dan 32, groter dan 126 en geen tab, regelinvoer of regelterugloop)

inline int IsExtendedChar(char ch) throw();

Parameterwaarden

Ch
Het teken dat moet worden getest

Retourwaarde

WAAR als het teken wordt uitgebreid, anders ONWAAR.

QEncode

Roep deze functie aan om bepaalde gegevens te converteren met behulp van de Q-codering.

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

Parameterwaarden

pbSrcData
De buffer met de gegevens die moeten worden gecodeerd.

nSrcLen
De lengte in bytes van de gegevens die moeten worden gecodeerd.

szDest
Aanroeper toegewezen buffer voor het ontvangen van de gecodeerde gegevens.

pnDestLen
Wijs een variabele aan die de lengte in tekens van szDest bevat. Als de functie slaagt, ontvangt de variabele het aantal tekens dat naar de buffer wordt geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in tekens van de buffer.

pszCharSet
De tekenset die moet worden gebruikt voor de conversie.

pnNumEncoded
Een aanwijzer naar een variabele die bij retour het aantal onveilige tekens bevat dat moet worden geconverteerd.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Het coderingsschema Q wordt beschreven in RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).

QEncodeGetRequiredLength

Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.

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

Parameterwaarden

nSrcLen
Het aantal te coderen bytes aan gegevens.

nCharsetLen
De lengte in tekens van de tekenset die moet worden gebruikt voor de conversie.

Retourwaarde

Het aantal tekens dat is vereist voor een buffer die gecodeerde gegevens van nSrcLen-bytes kan bevatten.

Opmerkingen

Het coderingsschema Q wordt beschreven in RFC 2047 (https://www.ietf.org/rfc/rfc2047.txt).

QPDecode

Decodeert een tekenreeks van gegevens die werden gecodeerd in quoted-printable formaat, zoals door een eerdere aanroep naar QPEncode.

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

Parameterwaarden

pbSrcData
[in] De buffer met de gegevens die moeten worden gedecodeerd.

nSrcLen
[in] De lengte in bytes van pbSrcData.

szDest
[uit] Aanroeper toegewezen buffer voor het ontvangen van de gedecodeerde gegevens.

pnDestLen
[uit] Wijs een variabele aan die de lengte in bytes van szDest bevat. Als de functie slaagt, ontvangt de variabele het aantal bytes dat naar de buffer is geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in bytes van de buffer.

dwFlags
[in] ATLSMTP_QPENCODE vlaggen die beschrijven hoe de conversie moet worden uitgevoerd.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Het schema voor het afdrukken tussen aan citeren en afdrukken wordt beschreven in RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).

QPDecodeGetRequiredLength

Roep deze functie aan om de grootte in bytes van een buffer op te halen die gegevens kan bevatten gedecodeerd uit een quoted-printable-gecodeerde string van de opgegeven lengte.

inline int QPDecodeGetRequiredLength(int nSrcLen) throw();

Parameterwaarden

nSrcLen
Het aantal tekens in de gecodeerde tekenreeks.

Retourwaarde

Het aantal bytes dat is vereist voor een buffer die een gedecodeerde tekenreeks van nSrcLen-tekens kan bevatten.

Opmerkingen

Het schema voor het afdrukken tussen aan citeren en afdrukken wordt beschreven in RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).

QPEncode

Roep deze functie aan om enkele gegevens in de quoted-printable-indeling te coderen.

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

Parameterwaarden

pbSrcData
De buffer met de gegevens die moeten worden gecodeerd.

nSrcLen
De lengte in bytes van de gegevens die moeten worden gecodeerd.

szDest
Aanroeper toegewezen buffer voor het ontvangen van de gecodeerde gegevens.

pnDestLen
Wijs een variabele aan die de lengte in tekens van szDest bevat. Als de functie slaagt, ontvangt de variabele het aantal tekens dat naar de buffer wordt geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in tekens van de buffer.

dwFlags
ATLSMTP_QPENCODE vlaggen die beschrijven hoe de conversie moet worden uitgevoerd.

  • ATLSMTP_QPENCODE_DOT Als een punt aan het begin van een regel wordt weergegeven, wordt deze toegevoegd aan de uitvoer en gecodeerd.

  • ATLSMTP_QPENCODE_TRAILING_SOFT Toevoegt =\r\n aan de gecodeerde tekenreeks.

Het bedrukbare coderingsschema tussen aan citeren en afdrukken wordt beschreven in RFC 2045.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Het schema voor het afdrukken tussen aan citeren en afdrukken wordt beschreven in RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).

QPEncodeGetRequiredLength

Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.

inline int QPEncodeGetRequiredLength(int nSrcLen) throw ();

Parameterwaarden

nSrcLen
Het aantal te coderen bytes aan gegevens.

Retourwaarde

Het aantal tekens dat is vereist voor een buffer die gecodeerde gegevens van nSrcLen-bytes kan bevatten.

Opmerkingen

Het schema voor het afdrukken tussen aan citeren en afdrukken wordt beschreven in RFC 2045 (https://www.ietf.org/rfc/rfc2045.txt).

UUDecode

Decodeert een tekenreeks met gegevens die is uuencoded, zoals door een eerdere aanroep van UUEncode.

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

Parameterwaarden

pbSrcData
De tekenreeks met de gegevens die moeten worden gedecodeerd.

nSrcLen
De lengte in bytes van pbSrcData.

pbDest
Aanroeper toegewezen buffer voor het ontvangen van de gedecodeerde gegevens.

pnDestLen
Wijs een variabele aan die de lengte in bytes van pbDest bevat. Als de functie slaagt, ontvangt de variabele het aantal bytes dat naar de buffer is geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in bytes van de buffer.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Deze uuencoding-implementatie volgt de POSIX P1003.2b/D11-specificatie.

UUDecodeGetRequiredLength

Roep deze functie aan om de grootte in bytes op te halen van een buffer die gegevens kan bevatten, gedecodeerd uit een uuencoded string met de opgegeven lengte.

inline int UUDecodeGetRequiredLength(int nSrcLen) throw ();

Parameterwaarden

nSrcLen
Het aantal tekens in de gecodeerde tekenreeks.

Retourwaarde

Het aantal bytes dat is vereist voor een buffer die een gedecodeerde tekenreeks van nSrcLen-tekens kan bevatten.

Opmerkingen

Deze uuencoding-implementatie volgt de POSIX P1003.2b/D11-specificatie.

Uuencode

Roep deze functie aan om bepaalde gegevens te coderen.

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

Parameterwaarden

pbSrcData
De buffer met de gegevens die moeten worden gecodeerd.

nSrcLen
De lengte in bytes van de gegevens die moeten worden gecodeerd.

szDest
Aanroeper toegewezen buffer voor het ontvangen van de gecodeerde gegevens.

pnDestLen
Wijs een variabele aan die de lengte in tekens van szDest bevat. Als de functie slaagt, ontvangt de variabele het aantal tekens dat naar de buffer wordt geschreven. Als de functie mislukt, ontvangt de variabele de vereiste lengte in tekens van de buffer.

lpszFile
Het bestand dat moet worden toegevoegd aan de header wanneer ATLSMTP_UUENCODE_HEADER is opgegeven in dwFlags.

dwFlags
Vlaggen die het gedrag van deze functie bepalen.

  • ATLSMTP_UUENCODE_HEADE De header wordt gecodeerd.

  • ATLSMTP_UUENCODE_END Het einde wordt gecodeerd.

  • ATLSMTP_UUENCODE_DOT gegevens wordt uitgevoerd.

Retourwaarde

Retourneert TRUE bij succes, ONWAAR bij mislukt.

Opmerkingen

Deze uuencoding-implementatie volgt de POSIX P1003.2b/D11-specificatie.

UUEncodeGetRequiredLength

Roep deze functie aan om de grootte in tekens van een buffer op te halen die een tekenreeks kan bevatten die is gecodeerd uit gegevens van de opgegeven grootte.

inline int UUEncodeGetRequiredLength(int nSrcLen) throw ();

Parameterwaarden

nSrcLen
Het aantal te coderen bytes aan gegevens.

Retourwaarde

Het aantal tekens dat is vereist voor een buffer die gecodeerde gegevens van nSrcLen-bytes kan bevatten.

Opmerkingen

Deze uuencoding-implementatie volgt de POSIX P1003.2b/D11-specificatie.

Zie ook

Concepten
ATL COM Desktop Components