2011-01-13 7 views
0

どのようにしてbase64文字列からhexa文字列に変換できますか(私はubuntu-C++コードで作業しています)。私のヘキサの文字列私は0x0c ....のようになりたいと思います。助けが必要。誰かが私に執行猶予を与えることができますか?Thx!ベース64文字列からヘキサ文字列

+1

少なくとも12個の異なった方法base64でエンコードされた文字列は、すべての異なる結果を持つ、16進数の文字列に変換することができますがあります - そしてそれはあなたが話しているこれらの結果のどの明白ではないのですが。どのような変換を心に留めておいてください –

+1

これには2回の変換が必要です。最初はbase64からunsigned char []になります。それから、16進数の文字列に変換します。どちらも、C++タグの下の他の質問によって十分にカバーされています。 –

+0

@ハンス:それは本当に正確ではありません。彼のbase64文字列はすでに文字配列です。必要なのは、文字配列から整数に変換してから、16進符号化を使用して文字配列に戻すことです。 –

答えて

-1

共通(標準ではないが)機能を使用して迅速な解決:

std::string input = MY_ENCODED_STRING; 
unsigned long decoded_value = strtol(input.c_str(), NULL, 64); 
char buffer[100] = {0}; 
std::string output = itoa(decoded_value, buffer, 16); 

boost::lexical_castが(ただし、1つ上のわからない)よりエレガントなソリューションを提供することができるかもしれません。

+0

私はubuntuでC++コードの下で作業しています。 itoaとは何ですか?私はそれを見つけるためにwhay図書館で? – elisa

+0

これは本当に正確ではありませんhttp://en.wikipedia.org/wiki/Base64 –

+0

私はC + +の例が必要です。誰かが私を助けることができますpls? Thx – elisa

関連する問題