我正在使用http://www.adp-gmbh.ch/cpp/common/base64.html
中的base64编码/解码使用以下代码可以很好地工作。
const std::string s = "I Am A Big Fat Cat" ;
std::string encoded = base64_encode(reinterpret_cast<const unsigned char*>(s.c_str()), s.length());
std::string decoded = base64_decode(encoded);
std::cout << _T("encoded: ") << encoded << std::endl;
std::cout << _T("decoded: ") << decoded << std::endl;
但是,来到unicode
namespace std
{
#ifdef _UNICODE
typedef wstring tstring;
#else
typedef string tstring;
#endif
}
const std::tstring s = _T("I Am A Big Fat Cat");
我怎样才能使用上述功能?
仅仅改变
std::string base64_encode(unsigned TCHAR const* , unsigned int len);
std::tstring base64_decode(std::string const& s);
无效。
(我希望base64_encode返回ASCII。因此,应该使用std :: string而不是std :: tstring)