codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
... mBase64Chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; mEof=false; ... template<typename Source> std::streamsize Base64Decoder::read(Source& source, char* s, std::streamsize n) { std::streamsize i=0; boost::array< char,4 > encData; int counter=0; std::string innerStream; std::cout << n << std::endl; while (!mEof) { char inputChar=boost::iostreams::get(source); if (EOF==inputChar) { mEof=true; if (0<counter) { for (int j=counter;4>j;j++) { char zero=0; encData[j]=mBase64Chars.find(zero); } counter=4; } } else { if ('='==inputChar) inputChar=0; encData[counter++]=mBase64Chars.find(inputChar); } if (4==counter) { boost::array< char, 3 > decData=convert(encData); for (int j=0;j<decData.static_size;j++) { const char& cData=decData[j]; s[i++]=cData; std::cout << cData << ":" << i << ":" << (int)cData << ":" << mEof << std::endl; } counter=0; } } return i; }
Private
[
?
]
Run code
Submit