ATL 텍스트 인코딩 함수

이러한 함수는 텍스트 인코딩 및 디코딩을 지원합니다.

함수 설명
AtlGetHexValue 16진수의 숫자 값을 가져오려면 이 함수를 호출합니다.
AtlGetVersion 이 함수를 호출하여 사용 중인 ATL 라이브러리의 버전을 가져옵니다.
AtlHexDecode AtlHexEncode에 대한 이전 호출과 같이 16진수 텍스트로 인코딩된 데이터 문자열을 디코딩합니다.
AtlHexDecodeGetRequiredLength 지정된 길이의 16진수로 인코딩된 문자열에서 디코딩된 데이터를 포함할 수 있는 버퍼를 바이트 크기로 가져오려면 이 함수를 호출합니다.
AtlHexEncode 16진수 텍스트 문자열로 일부 데이터를 인코딩하려면 이 함수를 호출합니다.
AtlHexEncodeGetRequiredLength 지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.
AtlHexValue 16진수의 숫자 값을 가져오려면 이 함수를 호출합니다.
AtlUnicodeToUTF8 유니코드 문자열을 UTF-8로 변환하려면 이 함수를 호출합니다.
BEncode "B" 인코딩을 사용하여 일부 데이터를 변환하려면 이 함수를 호출합니다.
BEncodeGetRequiredLength 지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.
EscapeXML XML에서 사용하기에 안전하지 않은 문자를 안전한 문자로 변환하려면 이 함수를 호출합니다.
GetExtendedChars 문자열에서 확장된 문자 수를 가져오려면 이 함수를 호출합니다.
IsExtendedChar 지정된 문자가 확장 문자인지 확인하려면 이 함수를 호출합니다(탭, 줄 바꿈 또는 캐리지 리턴이 아닌 32보다 작음, 126보다 큼).
QEncode "Q" 인코딩을 사용하여 일부 데이터를 변환하려면 이 함수를 호출합니다.
QEncodeGetRequiredLength 지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.
QPDecode QPEncode에 대한 이전 호출과 같이 따옴표로 묶인 인쇄 가능한 형식으로 인코딩된 데이터 문자열을 디코딩합니다.
QPDecodeGetRequiredLength 지정된 길이의 quoted-printable로 인코딩된 문자열에서 디코딩된 데이터를 포함할 수 있는 버퍼를 바이트 크기로 가져오려면 이 함수를 호출합니다.
QPEncode quoted-printable 형식으로 일부 데이터를 인코딩하려면 이 함수를 호출합니다.
QPEncodeGetRequiredLength 지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.
UUDecode UUEncode에 대한 이전 호출과 같이 uuencoded된 데이터 문자열을 디코딩합니다.
UUDecodeGetRequiredLength 지정된 길이의 uuencode된 문자열에서 디코딩된 데이터를 포함할 수 있는 버퍼를 바이트 크기로 가져오려면 이 함수를 호출합니다.
UUEncode 일부 데이터를 uuencode하려면 이 함수를 호출합니다.
UUEncodeGetRequiredLength 지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.

요구 사항

헤더: atlenc.h

AtlGetHexValue

16진수의 숫자 값을 가져오려면 이 함수를 호출합니다.

inline char AtlGetHexValue(char chIn) throw();

매개 변수


16진수 문자 '0'-'9', 'A'-'F' 또는 'a'-'f'입니다.

Return Value

16진수로 해석되는 입력 문자의 숫자 값입니다. 예를 들어 '0'의 입력은 값 0을 반환하고 'A'의 입력은 값 10을 반환합니다. 입력 문자가 16진수가 아니면 이 함수는 -1을 반환합니다.

AtlGetVersion

이 함수를 호출하여 사용 중인 ATL 라이브러리의 버전을 가져옵니다.

ATLAPI_(DWORD) AtlGetVersion(void* pReserved);

매개 변수

보존
예약 포인터입니다.

Return Value

컴파일하거나 실행하는 ATL 라이브러리 버전의 DWORD 정수 값을 반환합니다.

예시

함수는 다음과 같이 호출되어야 합니다.

DWORD ver;
ver = AtlGetVersion(NULL);   

요구 사항

헤더: atlbase.h

AtlHexDecode

AtlHexEncode에 대한 이전 호출과 같이 16진수 텍스트로 인코딩된 데이터 문자열을 디코딩합니다.

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

매개 변수

pSrcData
디코딩할 데이터가 포함된 문자열입니다.

nSrcLen
pSrcData 문자의 길이입니다.

pbDest
디코딩된 데이터를 수신하는 호출자 할당 버퍼입니다.

pnDestLen
pbDest의 길이(바이트)를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 바이트 수를 받습니다. 함수가 실패하면 변수는 버퍼의 필요한 길이(바이트)를 받습니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

AtlHexDecodeGetRequiredLength

지정된 길이의 16진수로 인코딩된 문자열에서 디코딩된 데이터를 포함할 수 있는 버퍼를 바이트 크기로 가져오려면 이 함수를 호출합니다.

inline int AtlHexDecodeGetRequiredLength(int nSrcLen) throw();

매개 변수

nSrcLen
인코딩된 문자열의 문자 수입니다.

Return Value

nSrcLen 문자의 디코딩된 문자열을 보유할 수 있는 버퍼에 필요한 바이트 수입니다.

AtlHexEncode

16진수 텍스트 문자열로 일부 데이터를 인코딩하려면 이 함수를 호출합니다.

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

매개 변수

pbSrcData
인코딩할 데이터를 포함하는 버퍼입니다.

nSrcLen
인코딩할 데이터의 길이(바이트)입니다.

szDest
인코딩된 데이터를 수신하기 위해 호출자가 할당한 버퍼입니다.

pnDestLen
szDest 문자의 길이를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 문자 수를 받습니다. 함수가 실패하면 변수는 버퍼의 문자에서 필요한 길이를 받습니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

원본 데이터의 각 바이트는 26진수 문자로 인코딩됩니다.

AtlHexEncodeGetRequiredLength

지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.

inline int AtlHexEncodeGetRequiredLength(int nSrcLen) throw();

매개 변수

nSrcLen
인코딩할 데이터의 바이트 수입니다.

Return Value

nSrcLen 바이트의 인코딩된 데이터를 저장할 수 있는 버퍼에 필요한 문자 수입니다.

AtlHexValue

16진수의 숫자 값을 가져오려면 이 함수를 호출합니다.

inline short AtlHexValue(char chIn) throw();

매개 변수


16진수 문자 '0'-'9', 'A'-'F' 또는 'a'-'f'입니다.

Return Value

16진수로 해석되는 입력 문자의 숫자 값입니다. 예를 들어 '0'의 입력은 값 0을 반환하고 'A'의 입력은 값 10을 반환합니다. 입력 문자가 16진수가 아니면 이 함수는 -1을 반환합니다.

AtlUnicodeToUTF8

유니코드 문자열을 UTF-8로 변환하려면 이 함수를 호출합니다.

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

매개 변수

wszSrc
변환할 유니코드 문자열

nSrc
유니코드 문자열의 문자 길이입니다.

szDest
변환된 문자열을 수신하기 위해 호출자가 할당한 버퍼입니다.

nDest
버퍼의 길이(바이트)입니다.

Return Value

변환된 문자열의 문자 수를 반환합니다.

설명

변환된 문자열에 필요한 버퍼의 크기를 확인하려면 szDest 및 nDest에 대해 0을 전달하는 이 함수를 호출합니다.

BEncode

"B" 인코딩을 사용하여 일부 데이터를 변환하려면 이 함수를 호출합니다.

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

매개 변수

pbSrcData
인코딩할 데이터를 포함하는 버퍼입니다.

nSrcLen
인코딩할 데이터의 길이(바이트)입니다.

szDest
인코딩된 데이터를 수신하기 위해 호출자가 할당한 버퍼입니다.

pnDestLen
szDest 문자의 길이를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 문자 수를 받습니다. 함수가 실패하면 변수는 버퍼의 문자에서 필요한 길이를 받습니다.

pszCharSet
변환에 사용할 문자 집합입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

"B" 인코딩 체계는 RFC 2047(https://www.ietf.org/rfc/rfc2047.txt)에 설명되어 있습니다.

BEncodeGetRequiredLength

지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.

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

매개 변수

nSrcLen
인코딩할 데이터의 바이트 수입니다.

nCharsetLen
변환에 사용할 문자 집합의 문자 길이입니다.

Return Value

nSrcLen 바이트의 인코딩된 데이터를 저장할 수 있는 버퍼에 필요한 문자 수입니다.

설명

"B" 인코딩 체계는 RFC 2047(https://www.ietf.org/rfc/rfc2047.txt)에 설명되어 있습니다.

EscapeXML

XML에서 사용하기에 안전하지 않은 문자를 안전한 문자로 변환하려면 이 함수를 호출합니다.

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

매개 변수

szIn
변환할 문자열입니다.

nSrclen
변환할 문자열의 문자 길이입니다.

szEsc
변환된 문자열을 수신하기 위해 호출자가 할당한 버퍼입니다.

nDestLen
호출자가 할당한 버퍼의 문자 길이입니다.

dwFlags
변환을 수행하는 방법을 설명하는 ATL_ESC 플래그입니다.

  • ATL_ESC_FLAG_NONE 기본 동작입니다. 따옴표와 아포스트로피는 변환되지 않습니다.
  • ATL_ESC_FLAG_ATTR 따옴표와 아포스트로피는 각각 변환 " ' 됩니다.

Return Value

변환된 문자열의 문자 길이입니다.

설명

이 함수에서 수행할 수 있는 변환이 표에 나와 있습니다.

원본 대상
< <
> >
& &
' '
" "

GetExtendedChars

문자열에서 확장된 문자 수를 가져오려면 이 함수를 호출합니다.

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

매개 변수

szSrc
분석할 문자열입니다.

nSrcLen
문자열의 길이(문자)입니다.

Return Value

IsExtendedChar에 의해 결정된 문자열 내에서 찾은 확장 문자 수를 반환합니다.

IsExtendedChar

지정된 문자가 확장 문자인지 확인하려면 이 함수를 호출합니다(탭, 줄 바꿈 또는 캐리지 리턴이 아닌 32보다 작음, 126보다 큼).

inline int IsExtendedChar(char ch) throw();

매개 변수

ch
테스트할 문자입니다.

Return Value

문자가 확장되면 TRUE이고, 그렇지 않으면 FALSE입니다.

QEncode

"Q" 인코딩을 사용하여 일부 데이터를 변환하려면 이 함수를 호출합니다.

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

매개 변수

pbSrcData
인코딩할 데이터를 포함하는 버퍼입니다.

nSrcLen
인코딩할 데이터의 길이(바이트)입니다.

szDest
인코딩된 데이터를 수신하기 위해 호출자가 할당한 버퍼입니다.

pnDestLen
szDest 문자의 길이를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 문자 수를 받습니다. 함수가 실패하면 변수는 버퍼의 문자에서 필요한 길이를 받습니다.

pszCharSet
변환에 사용할 문자 집합입니다.

pnNumEncoded
반환 시 변환해야 하는 안전하지 않은 문자 수가 포함된 변수에 대한 포인터입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

"Q" 인코딩 체계는 RFC 2047(https://www.ietf.org/rfc/rfc2047.txt)에 설명되어 있습니다.

QEncodeGetRequiredLength

지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.

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

매개 변수

nSrcLen
인코딩할 데이터의 바이트 수입니다.

nCharsetLen
변환에 사용할 문자 집합의 문자 길이입니다.

Return Value

nSrcLen 바이트의 인코딩된 데이터를 저장할 수 있는 버퍼에 필요한 문자 수입니다.

설명

"Q" 인코딩 체계는 RFC 2047(https://www.ietf.org/rfc/rfc2047.txt)에 설명되어 있습니다.

QPDecode

QPEncode에 대한 이전 호출과 같이 따옴표로 묶인 인쇄 가능한 형식으로 인코딩된 데이터 문자열을 디코딩합니다.

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

매개 변수

pbSrcData
[in] 디코딩할 데이터가 포함된 버퍼입니다.

nSrcLen
[in] pbSrcData의 길이(바이트)입니다.

szDest
[out] 디코딩된 데이터를 수신하는 호출자 할당 버퍼입니다.

pnDestLen
[out] szDest의 길이(바이트)를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 바이트 수를 받습니다. 함수가 실패하면 변수는 버퍼의 필요한 길이(바이트)를 받습니다.

dwFlags
[in] 변환을 수행하는 방법을 설명하는 ATLSMTP_QPENCODE 플래그입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

따옴표로 묶을 수 있는 인코딩 체계는 RFC 2045(https://www.ietf.org/rfc/rfc2045.txt)에 설명되어 있습니다.

QPDecodeGetRequiredLength

지정된 길이의 quoted-printable로 인코딩된 문자열에서 디코딩된 데이터를 포함할 수 있는 버퍼를 바이트 크기로 가져오려면 이 함수를 호출합니다.

inline int QPDecodeGetRequiredLength(int nSrcLen) throw();

매개 변수

nSrcLen
인코딩된 문자열의 문자 수입니다.

Return Value

nSrcLen 문자의 디코딩된 문자열을 보유할 수 있는 버퍼에 필요한 바이트 수입니다.

설명

따옴표로 묶을 수 있는 인코딩 체계는 RFC 2045(https://www.ietf.org/rfc/rfc2045.txt)에 설명되어 있습니다.

QPEncode

quoted-printable 형식으로 일부 데이터를 인코딩하려면 이 함수를 호출합니다.

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

매개 변수

pbSrcData
인코딩할 데이터를 포함하는 버퍼입니다.

nSrcLen
인코딩할 데이터의 길이(바이트)입니다.

szDest
인코딩된 데이터를 수신하기 위해 호출자가 할당한 버퍼입니다.

pnDestLen
szDest 문자의 길이를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 문자 수를 받습니다. 함수가 실패하면 변수는 버퍼의 문자에서 필요한 길이를 받습니다.

dwFlags
변환을 수행하는 방법을 설명하는 ATLSMTP_QPENCODE 플래그입니다.

  • ATLSMTP_QPENCODE_DOT 줄의 시작 부분에 마침표가 나타나면 출력에 추가되고 인코딩됩니다.

  • ATLSMTP_QPENCODE_TRAILING_SOFT 인코딩된 문자열에 추가됩니다 =\r\n .

따옴표로 묶을 수 있는 인코딩 체계는 RFC 2045설명되어 있습니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

따옴표로 묶을 수 있는 인코딩 체계는 RFC 2045(https://www.ietf.org/rfc/rfc2045.txt)에 설명되어 있습니다.

QPEncodeGetRequiredLength

지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.

inline int QPEncodeGetRequiredLength(int nSrcLen) throw ();

매개 변수

nSrcLen
인코딩할 데이터의 바이트 수입니다.

Return Value

nSrcLen 바이트의 인코딩된 데이터를 저장할 수 있는 버퍼에 필요한 문자 수입니다.

설명

따옴표로 묶을 수 있는 인코딩 체계는 RFC 2045(https://www.ietf.org/rfc/rfc2045.txt)에 설명되어 있습니다.

UUDecode

UUEncode에 대한 이전 호출과 같이 uuencoded된 데이터 문자열을 디코딩합니다.

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

매개 변수

pbSrcData
디코딩할 데이터가 포함된 문자열입니다.

nSrcLen
pbSrcData의 길이(바이트)입니다.

pbDest
디코딩된 데이터를 수신하는 호출자 할당 버퍼입니다.

pnDestLen
pbDest의 길이(바이트)를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 바이트 수를 받습니다. 함수가 실패하면 변수는 버퍼의 필요한 길이(바이트)를 받습니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 uuencoding 구현은 POSIX P1003.2b/D11 사양을 따릅니다.

UUDecodeGetRequiredLength

지정된 길이의 uuencode된 문자열에서 디코딩된 데이터를 포함할 수 있는 버퍼를 바이트 크기로 가져오려면 이 함수를 호출합니다.

inline int UUDecodeGetRequiredLength(int nSrcLen) throw ();

매개 변수

nSrcLen
인코딩된 문자열의 문자 수입니다.

Return Value

nSrcLen 문자의 디코딩된 문자열을 보유할 수 있는 버퍼에 필요한 바이트 수입니다.

설명

이 uuencoding 구현은 POSIX P1003.2b/D11 사양을 따릅니다.

UUEncode

일부 데이터를 uuencode하려면 이 함수를 호출합니다.

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

매개 변수

pbSrcData
인코딩할 데이터를 포함하는 버퍼입니다.

nSrcLen
인코딩할 데이터의 길이(바이트)입니다.

szDest
인코딩된 데이터를 수신하기 위해 호출자가 할당한 버퍼입니다.

pnDestLen
szDest 문자의 길이를 포함하는 변수에 대한 포인터입니다. 함수가 성공하면 변수는 버퍼에 기록된 문자 수를 받습니다. 함수가 실패하면 변수는 버퍼의 문자에서 필요한 길이를 받습니다.

lpszFile
ATLSMTP_UUENCODE_HEADER dwFlags에 지정될 때 헤더에 추가할 파일입니다.

dwFlags
이 함수의 동작을 제어하는 플래그입니다.

  • ATLSMTP_UUENCODE_HEADE 헤더가 인코딩됩니다.

  • ATLSMTP_UUENCODE_END 끝은 인코딩됩니다.

  • ATLSMTP_UUENCODE_DOT 데이터 스터핑이 수행됩니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 uuencoding 구현은 POSIX P1003.2b/D11 사양을 따릅니다.

UUEncodeGetRequiredLength

지정된 크기의 데이터에서 디코딩된 문자열을 포함할 수 있는 버퍼를 문자 크기로 가져오려면 이 함수를 호출합니다.

inline int UUEncodeGetRequiredLength(int nSrcLen) throw ();

매개 변수

nSrcLen
인코딩할 데이터의 바이트 수입니다.

Return Value

nSrcLen 바이트의 인코딩된 데이터를 저장할 수 있는 버퍼에 필요한 문자 수입니다.

설명

이 uuencoding 구현은 POSIX P1003.2b/D11 사양을 따릅니다.

참고 항목

개념
ATL COM 데스크톱 구성 요소