Функция CryptBinaryToStringA (wincrypt.h)
Функция CryptBinaryToString преобразует массив байтов в форматированную строку.
Синтаксис
BOOL CryptBinaryToStringA(
[in] const BYTE *pbBinary,
[in] DWORD cbBinary,
[in] DWORD dwFlags,
[out, optional] LPSTR pszString,
[in, out] DWORD *pcchString
);
Параметры
[in] pbBinary
Указатель на массив байтов для преобразования в строку.
[in] cbBinary
Количество элементов в массиве pbBinary .
[in] dwFlags
Задает формат итоговой форматируемой строки. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Base64 с начальным и конечным заголовками сертификата. |
|
Base64, без заголовков. |
|
Чистое двоичное копирование. |
|
Base64 с начальным и конечным заголовками запроса. |
|
Только шестнадцатеричное значение. |
|
Шестнадцатеричное значение с отображением символов ASCII . |
|
Base64 с начальным и конечным заголовками списка отзыва сертификатов X.509 . |
|
Шестнадцатеричное значение с отображаемым адресом. |
|
Шестнадцатеричное значение с символом и адресом ASCII. |
|
Необработанная шестнадцатеричная строка.
Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Принудительное декодирование текстовых форматов ASN.1. Некоторые двоичные BLOB-объекты ASN.1 могут иметь первые несколько байтов большого двоичного объекта неправильно интерпретируются как текст Base64. В этом случае остальная часть текста игнорируется. Используйте этот флаг для принудительного полного декодирования БОЛЬШОго двоичного объекта.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается. |
В дополнение к приведенным выше значениям можно указать одно или несколько из следующих значений, чтобы изменить поведение функции.
[out, optional] pszString
Указатель на буфер, получающий преобразованную строку. Чтобы вычислить количество символов, которые должны быть выделены для хранения возвращаемой строки, присвойте этому параметру значение NULL. Функция поместит необходимое количество символов, включая завершающий символ NULL , в значение, на которое указывает pcchString.
[in, out] pcchString
Указатель на переменную DWORD, содержащую размер буфера pszString в TCHAR. Если pszString имеет значение NULL, функция вычисляет длину возвращаемой строки (включая завершающий символ NULL) в TCHARs и возвращает ее в этом параметре. Если pszString не имеет значения NULL и не имеет достаточно большого значения, функция преобразует двоичные данные в указанный строковый формат, включая завершающий символ NULL, но pcchString получает длину в TCHARs, не включая завершающий символ NULL.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE).
Комментарии
За исключением случаев, когда используется кодировка CRYPT_STRING_BINARY , все строки добавляются с новой последовательностью строк. По умолчанию новая последовательность строк представляет собой пару CR/LF (0x0D/0x0A). Если параметр dwFlags содержит флаг CRYPT_STRING_NOCR , то новая последовательность строк представляет собой символ LF (0x0A). Если параметр dwFlags содержит флаг CRYPT_STRING_NOCRLF , то новая последовательность строк не добавляется к строке.
Примечание
Заголовок wincrypt.h определяет CryptBinaryToString в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по