开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from 腾硕软件/vc-client
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
vc-client
/
commonfiles
/
base64util.cpp
vc-client
/
commonfiles
/
base64util.cpp
base64util.cpp 2.42 KB
一键复制 编辑 原始数据 按行查看 历史
腾硕软件 提交于 2015年04月03日 00:42 +08:00 . 初始提交
#include "stdafx.h"
#include "base64util.h"
namespace base64util {
char ntc(unsigned char n){
if (n<26) return 'A'+n;
if (n<52) return 'a'-26+n;
if (n<62) return '0'-52+n;
if (n==62) return '+';
return '/';
}
unsigned char ctn(char c){
if (c=='/') return 63;
if (c=='+') return 62;
if ((c>='A')&&(c<='Z')) return c-'A';
if ((c>='a')&&(c<='z')) return c-'a'+26;
if ((c>='0')&&(c<='9')) return c-'0'+52;
if (c=='=') return 80;
return 100;
}
int b64encode(const char *from,char *to,int length,int quads){
// 3 byteתΪĸַ
int i =0;
char *tot=to;
int qc=0; // Quadcount
unsigned char c;
unsigned char d;
while(i<length) {
c=from[i];
*to++=ntc(c/4);
c=c*64;
i++;
if (i>=length) {
*to++=ntc(c/4);
*to++='=';
*to++='=';
break;
}
d=from[i];
*to++=ntc(c/4+d/16);
d=d*16;
i++;
if (i>=length) {
*to++=ntc(d/4);
*to++='=';
break;
}
c=from[i];
*to++=ntc(d/4+c/64);
c=c*4;
i++;
*to++=ntc(c/4);
qc++; // qz will never be zero, quads = 0 means no linebreaks
if (qc==quads){
*to++='\n';
qc=0;
}
}
// if ((quads!=0)&&(qc!=0)) *to++='\n'; // Insert last linebreak
return to-tot;
}
int b64decode(char *from,char *to,int length){
unsigned char c,d,e,f;
char A,B,C;
int i;
int add;
char *tot=to;
for (i=0;i+3<length;){
add=0;
A=B=C=0;
c=d=e=f=100;
while ((c==100)&&(i<length)) c=ctn(from[i++]);
while ((d==100)&&(i<length)) d=ctn(from[i++]);
while ((e==100)&&(i<length)) e=ctn(from[i++]);
while ((f==100)&&(i<length)) f=ctn(from[i++]);
if (f==100) return -1; // Not valid end
if (c<64)
{
A+=c*4;
if (d<64)
{
A+=d/16;
B+=d*16;
if (e<64)
{
B+=e/4;
C+=e*64;
if (f<64)
{
C+=f;
to[2]=C;
add+=1;
}
to[1]=B;
add+=1;
}
to[0]=A;
add+=1;
}
}
to+=add;
if (f==80) return to-tot; // end because '=' encountered
}
return to-tot;
}
int b64get_encode_buffer_size(int l,int q){
int ret;
ret = (l/3)*4;
if (l%3!=0) ret +=4;
if (q!=0)
{
ret += (ret/(q*4));
// if (ret%(q/4)!=0) ret ++; // Add space for trailing \n
}
return ret;
}
int b64strip_encoded_buffer(char *buf,int length){
int i;
int ret=0;
for (i=0;i<length;i++) if (ctn(buf[i])!=100) buf[ret++] = buf [i];
return ret;
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

腾硕云办公平台(discoverx2)客户端组件(办公小助手、低版本IE可视化流程编辑COM控件等)源码。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/springjava/vc-client.git
git@gitee.com:springjava/vc-client.git
springjava
vc-client
vc-client
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /