关注
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届学院二本,袋鼠云->快手->腾讯wxg,25年末聊聊我的前端之路1.8W
- 2... 本科五段大厂实习,秋招五个offer,我的校招结束了6385
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?6155
- 4... 适可而止吧!你就是“烂泥”5926
- 5... 大四双非水产专业上岸阿里后端(五)5370
- 6... 我的世界观,就是对抗优绩主义的武器3304
- 7... 27双非杀入字节!2727
- 8... 实习被“放养”零产出,该及时止损还是继续苟着?1652
- 9... 如果2025的我是强化学习,那最终奖励会是什么?1534
- 10... 26届双非硕Java秋招总结1507
正在热议
更多
# 实习没人带,苟住还是跑路? #
1951次浏览 63人参与
# 工作中的卑微时刻 #
29776次浏览 189人参与
# 元旦假期你打算怎么过 #
2633次浏览 83人参与
# 过年期间可能会经历的尴尬瞬间 #
48505次浏览 311人参与
# 我们是不是被“优绩主义”绑架了? #
4191次浏览 170人参与
# 从夯到拉,评价编程语言 #
27788次浏览 148人参与
# 如何看待应届生身份? #
210736次浏览 2233人参与
# 查收我的offer竞争力报告 #
263780次浏览 1644人参与
# 多益网络工作体验 #
60149次浏览 300人参与
# 牛客2025仙途报告 #
20757次浏览 322人参与
# 机械制造面试记录 #
299832次浏览 3143人参与
# 实习心态崩了 #
96534次浏览 494人参与
# 华为工作体验 #
277175次浏览 1355人参与
# 26届秋招投递记录 #
109294次浏览 652人参与
# 实习打杂,要跑路吗 #
54301次浏览 330人参与
# 你有哪些缓解焦虑的方法? #
44763次浏览 873人参与
# 找工作,行业重要还是岗位重要? #
88233次浏览 1769人参与
# 华为池子有多大 #
154555次浏览 867人参与
# 今年你最想重开的一场面试是? #
17657次浏览 174人参与
# 参加过提前批的机械人,你们还参加秋招么 #
105298次浏览 1647人参与
