vc.net base64

本文只做一个记录,方便日后自己查阅,也方便他人查阅提供一个方法,简单、粗暴、上代码。

项目需要,需要用json传输文件,文件需要读取后转换为base64格式字符串,首当其冲百度一下,找到了一篇文章:

https://www.cnblogs.com/Jesse-Cavendish/p/11623240.html

短小文本的确正确,但3K左右的文件,正反转换一下就出错了。具体我也没精力排错,就想使用.net clr来实现不是更简单,的确更简单。

1.项目属性需要修改两处


配置属性->高级->公共语言运行时支持,选择:公共语言运行时支持(/clr)


C/C++ -> 语言 -> 符合模式 -> "否"

2.上代码
 

using namespace System;
using namespace System::Text::RegularExpressions;

int  main(int  argc, char *  argv[])
{
	cli::array<unsigned char>^ data = IO::File::ReadAllBytes("d:\\source.png");
	String^ b64 = Convert::ToBase64String(data);
	IO::File::WriteAllText("d:\\c_b64.txt", b64);
	cli::array<unsigned char>^ raw = Convert::FromBase64String(b64);
	IO::File::WriteAllBytes("d:\\new_image.png", raw);
	return   0;
}

没什么技巧含量,没什么高深技术,纯粹是因为找了中外好几个c++的base64库,在转换时均出问题,踩坑脱坑过程记录,希望为未来看到的人提供一个解决思路足以。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值