CAPICOM.Utilities에서 임의의 이진 문자열을 가져 오는 코드 조각이 있습니다. Firebreath : 이진 문자열 반환 값 예외
m_pUtilities.CreateInstance(__uuidof(Utilities));
_bstr_t bstrResult;
m_pUtilities->raw_GetRandom(64, CAPICOM_ENCODE_BINARY, bstrResult.GetAddress());
나는 appr 플러그인
return std::wstring(bstrResult);
내 방법 충돌을 반환하는 방법을했다. 6 중 1 통화. 예외 설명은 chrome.exe의 0x7572969b에서 처리되지 않은 예외입니다. Microsoft C++ 예외 : 메모리 위치의 utf8 :: invalid_utf16. FB :: variant에서 내 메서드의 반환 형식을 std :: wstring으로 변경하려고 시도했지만 도움이되지 않았습니다.
내가 뭘 잘못 했니? 이진 문자열을 어떻게 반환해야합니까? 이진 문자열을 base64 나 다른 반환 문자열의 변경으로 변환하는 것은 적합하지 않습니다.
예. npapi 플러그인에서 브라우저로 이진 문자열을 반환 할 수는 없습니다. 지원되지 않습니다. 브라우저는 utf8로 인코딩 된 문자열을 기대합니다. – taxilian
불행히도이 값을 내 플러그인에서 전달해야합니다. 아마도이 옵션을 전혀 구현하지 않을 것입니다. – Pisaren
@ 피셔 : 기술적으로 (JS) 배열을 일반 값으로 채우고 반환 할 수는 있지만 매우 느립니다. JS로 base64로 전달하고 번호 배열로 디코딩하는 방법은? –