关注
string _hex2bits(char s)
{
int num;
if ('0' <= s &;&; s <= '9'){
num = s - '0';
} else{
num = s - 'A' + 10;
}
string str;
for (int i = 0; i < 8; i++)
{
int mod = num % 2;
str.push_back('0' + mod);
num = num / 2;
}
reverse(str.begin(), str.end());
return str;
}
int _bits2num(string&; str)
{
int result = 0;
int base = 1;
for (int i = str.length()-1; i >= 0; i--) {
if (str[i] == '1'){
result += base;
}
base *= 2;
}
return result;
}
char _num2char(int num)
{
assert(num >= 0 &;&; num <= 63);
if (0 <= num &;&; num <= 25)
{
return 'A' + (num - 0);
}
else if (26 <= num &;&; num <= 51)
{
return 'a' + (num - 26);
}
else if (52 <= num &;&; num <= 61)
{
return '0' + (num - 52);
}
else if (num == 62)
{
return '+';
}
else
{
return '//';
}
}
void hex2base64(string&; str)
{
transform(str.begin(), str.end(), str.begin(), ::toupper);
int mod = str.length() % 3;
mod = mod == 0 ? -1 : 3 - mod;
string tmp;
for (int i = 0; i < str.length(); i++){
tmp += _hex2bits(str[i]);
}
for (int i = 0; i+6 <= tmp.length(); i = i+6)
{
string base64bits = tmp.substr(i, 6);
int num = _bits2num(base64bits);
cout << _num2char(num);
}
for (int i = 0; i < mod+1; i++)
{
cout << '=';
}
}
int main()
{
string test1 = "1A2";
hex2base64(test1);
return 0;
}
查看原帖
3 3
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 27无实习不投日常了明年3月直接战暑期或者找日常可行吗4123
- 2... 学院本放弃秋招了3305
- 3... 腾讯、快手、百度Q3财报新鲜出炉!3205
- 4... 双九无实习 CPP 拿下 SSP-秋招总结(其二)3106
- 5... 被导员发现之后续集:2895
- 6... “受虐狂”再选一次还要选这份苦差事2726
- 7... 震惊!某HR居然给我发了这样的邮件......2687
- 8... 双九无实习CPP拿下SSP-秋招总结(其一)2668
- 9... Gemini3用了吗,前端是不是无了?2659
- 10... 秋招收官!小红书你PK赢了2178
正在热议
更多
# 那些年,我收到的‘奇葩’回复 #
18821次浏览 146人参与
# 实习需要主动找活干吗? #
54120次浏览 291人参与
# 百度秋招 #
49592次浏览 383人参与
# OC/开奖 #
185825次浏览 1306人参与
# 秋招你经历过哪些无语的事 #
19350次浏览 226人参与
# 职场中那些令人叹为观止的八卦 #
27601次浏览 235人参与
# 腾讯音乐秋招 #
429791次浏览 4773人参与
# 秋招吐槽大会 #
84299次浏览 737人参与
# 校招薪资来揭秘 #
73748次浏览 479人参与
# 你找工作想离家近 or 离家远? #
15619次浏览 235人参与
# 实习教会我的事 #
41221次浏览 340人参与
# 我的职场社死时刻 #
20483次浏览 165人参与
# 你秋招最后悔的选择 #
16044次浏览 121人参与
# 租房前辈的忠告 #
289248次浏览 7266人参与
# 材料人,你最希望上岸的是? #
10865次浏览 56人参与
# 2022毕业即失业取暖地 #
119517次浏览 709人参与
# 哪些公司开始补录了 #
20197次浏览 160人参与
# XX请雇我工作 #
14819次浏览 113人参与
# AI时代,哪些岗位最容易被淘汰 #
10497次浏览 87人参与
# 蚂蚁求职进展汇总 #
130558次浏览 1200人参与
# 小马智行求职进展汇总 #
17064次浏览 54人参与
# 第一份工作能做外包吗? #
81495次浏览 555人参与