C# base64图片数据传送加号(+)变空格问题

今天遇到一个问题,将图片的base64数据转发,客户收到base64数据后生成图片失真。

通过日志监控,对比客户收到的数据和我发出的数据,最终发现客户base64数据中原本应该显示为加号("+")的地方都被空格替换掉了。去问度娘,有篇帖子说在发送数据之前要进行预处理,将加号替换成 %2B 。虽不知什么原因,但是处理之后客户收到的base64数据和发送的数据就一致了。

附上原文:https://social.msdn.microsoft.com/forums/azure/fr-fr/5b98ba43-6a83-4620-998e-2ce02b1fea1b/xmlhttpsend

推荐一个base64和图片互相转换的网站:http://www.vgot.net/test/image2base64.php?

时间: 2024-10-09 17:02:51

C# base64图片数据传送加号(+)变空格问题的相关文章

[Android Pro] http请求中传输base64出现加号变空格的解决办法

reference to : http://blog.csdn.net/jsjwbxzy/article/details/45970231 try { des = URLEncoder.encode(des, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }

解决base64通过http传输后+变空格的问题

语言的后台接收到http的数据后默认是被urlencode的过的 所以接受到时候会自动urldecode一次 这时候base64中的+ 会被decode为空格 要解决这个问题可以从前端后端两个地方下手 在前端传送base64前把字串中的+先替换为编码后的 des = des.replaceAll("\\+", "%2B"); 或者在后台接收的时候把空格全都替换为加号 原文地址:https://www.cnblogs.com/zwsblogs/p/9182129.ht

img src 使用 base64 图片数据

在网页上显示一张图片通常是 <img src="xxx.png" > 或 <img src="www.url.com/te.png"> 但是如果我们有图片base64数据:也可以使用 base64数据来在网页上显示一张图片: 格式: <img src="data:image/bmp;base64,Qk32egAAAAAAADYE...(图片base数据)> 上面一个是 注意 图片格式: image/bmp, 这里可以使用

ASP.NET页面传值加号变空格解决办法

只需要把欲传值进行编码 string EncodeId = Server.UrlEncode(id); 加号就变成了 % 2 B  (中间无空格) 然后再传出去. Request.QueryString默认会自动解码的,UrlDecode,所以直接获取即可.(服务器不需要解码,解码反而会出错) 这样,就不会再是空格了.

Base64编码字符串时数据量明显变大

那就是当把byte[]通过Convert.ToBase64String转换成Base64编码字符串时数据量明显变大 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24位数据,再把这24位数据分成4组,即每组6位.再在每组的的最高位前补两个0凑足一个字节.这样就把一个3字节为一组的数据重新编码成了4个字节.当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节.这时在最后一组填充1到

PHP学习 base64_encode +号变空格

在进行base64编码解码的时候出现的+号在通过html由后台php->get读取时会被自动替换成空格,造成乱码的问题 经过查证这并不是echo显示出错而是客观存在的 原因摘自:http://blog.csdn.net/wang0928007/article/details/7429568 "加号(+)是BASE64编码的一部分,而加号在QueryString中被当成是空格.    因此,当一个含有BASE64编码的字符串直接作为URL的一部分时,如果其中含有加号,则使用QueryStri

chrome 隐藏技能之 base64 图片转换

有时候我们要转换图片为base64,或者将base64转回图片,可能都需要找一些在线工具或者软件类型的工具才行.当然 chrome 也算是软件,但是好在做前端的都有 chrome.好了,来看下简单的例子,我随便截了个桌面背景当例子.分别保存为 png, jpg 两种. 然后用 chrome 打开图片,接着按 F12 打开控制台,在 Sources 或 Resources 都行.看到了吧,在最后一个箭头处就是我们要的 base64 数据了,非常简单.当然这里没有data头,用的时候再加上即可. d

批量生成测试非重复命名的图片数据

今天要测试100万的图片数据的上传工作,测试指标:100万的上传总耗时,调用接口的耗时,图片处理耗时等. 但是一个问题是没有100万张图片,咋整啊,感觉有人在坑我,绝壁是故意的.让我想办法搞一百张万张,哪怕图片都一样,命名不一样也行. 然后就想了一个办法,用一张图片批量生成100万张不同命名的图片. 1.获取一张图片的base64编码字符串 2.然后进行base64解码之后保存到本地 3保存之前进行图片重命名 下面就是具体的代码,分分钟搞定. import java.io.File; impor

base64图片解析

大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如:data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/ KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CK