2011-01-13 186 views
0

如何從base64字符串轉換爲hexa字符串(我在ubuntu中工作 - C++代碼)。我的hexa字符串我想成爲像0x0c ....等等。需要幫忙。有人能給我一個例子嗎?Thx!base 64 string to hexa string

+1

至少有十二種不同的方式可以將base64編碼的字符串轉換爲一串十六進制數字,所有這些都有不同的結果 - 並且不清楚你正在談論的這些結果中的哪一個。請詳細說明您考慮過哪種轉換。 – 2011-01-13 13:27:06

+1

這需要兩次轉換。首先從base64到unsigned char []。然後從那裏到一串十六進制數字。這兩個都很好的涵蓋了C++標籤下的其他問題。 – 2011-01-13 13:33:00

回答

-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可能能夠提供更好的解決方案(在一個不知道,雖然)。