大疆base64实现有人吗 #大疆笔试#
全部评论
我就不知道3个输入的数字怎么转换成24bit
点赞 回复 分享
发布于 2022-08-14 20:52
我是先把16进制的字符串转换成二进制的字符串,然后再六个六个的处理二进制的字符串,有一个要注意的点就是记录一下初始字符串的长度,后面处理时超过这个长度就break出来,后面再补 =
点赞 回复 分享
发布于 2022-08-14 20:46
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 回复 分享
发布于 2022-08-14 21:18
看了半天没看懂,后来理解了没时间了😅
2 回复 分享
发布于 2022-08-14 20:40
同一个题,没思路T﹏T
1 回复 分享
发布于 2022-08-14 20:39
有思路 但是没有时间debug🤣
点赞 回复 分享
发布于 2022-08-14 20:44
刚刚在csdn看到一个带输入输出的实现 写了一百四十行😤
点赞 回复 分享
发布于 2022-08-14 20:42
输入是二进制序列,tmd,我以为是任意字符串序列😂
点赞 回复 分享
发布于 2022-08-14 20:44
我理解错了 ,=补的是byte字节 而不是位数
点赞 回复 分享
发布于 2022-08-14 21:01
老哥有收到面试通知吗
点赞 回复 分享
发布于 2022-08-15 22:48
题目考base64编码什么鬼哦,不带这么玩儿的😂🤣
3 回复 分享
发布于 2022-08-14 20:42
突然就懵了
1 回复 分享
发布于 2022-08-14 20:43
差一分钟从本地ide粘贴的时候没提交上,气死人了,这个赛码系统是真难用
1 回复 分享
发布于 2022-08-14 20:44
57%
1 回复 分享
发布于 2022-08-14 20:46
笑死,根本读不懂题目
1 回复 分享
发布于 2022-08-14 20:58
完全没看懂
1 回复 分享
发布于 2022-08-14 22:15
m
点赞 回复 分享
发布于 2022-08-14 20:51
没看懂题,14%
点赞 回复 分享
发布于 2022-08-14 23:57
所以多少分过笔试 这道题好像18分😂
点赞 回复 分享
发布于 2022-08-16 11:01

相关推荐

totoroyyw:千年老妖😂
投递华为等公司10个岗位
点赞 评论 收藏
分享
吃不饱的肱二头肌很想退休:tnnd 我以为选妹子呢,亏我兴高采烈的冲进来😠
投递快手等公司10个岗位
点赞 评论 收藏
分享
4 2 评论
分享
牛客网
牛客企业服务