canvers转化base64,然后后台解码生成图片问题

直接上代码了,

  var img_this=new Image();  
                img_this.src=$('#preview').attr('src');  
                var width = img_this.width,height = img_this.height;  
                var scale = width / height;  
                width1 = 300;  
                height1 = parseInt(width1 / scale);  
                var canvas = $("#cans");  
                canvas[0].width = width1; canvas[0].height = height1;  
                var cropStr =canvas[0].toDataURL("image/jpeg");
                alert(cropStr);

这是生成的base64的字符串,

    public boolean strtoimg(String imgStr){
          if (imgStr == null){ // 图像数据为空
                return false;
            }
            BASE64Decoder decoder = new BASE64Decoder();
            try {
                // Base64解码
                byte[] bytes = decoder.decodeBuffer(imgStr);
                for (int i = 0; i < bytes.length; ++i) {
                    if (bytes[i] < 0) {// 调整异常数据
                        bytes[i] += 256;
                    }
                }
                // 生成jpeg图片
                String path = "d:555.jpg";
                OutputStream out = new FileOutputStream(path);
                out.write(bytes);
                out.flush();
                out.close();
                return true;
            } catch (Exception e) {
                return false;
            }
    } 

这个是生成图片方法,哪里有不对的吗?生成的图片是一片黑。
在线等~

u011431686
u011431686 请问 这个问题 您解决了吗
4 个月之前 回复
qq_30372187
qq_30372187 这个问题解决了吗
9 个月之前 回复

1个回答

var cropStr =canvas[0].toDataURL("image/jpeg");

这个cropStr你处理过没有?是包含“data:image/jpeg;base64”这种内容,要去掉这些内容,直接发送后面base64数据。

cropStr=cropStr.replace('data:image/jpeg;base64','');

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Base64解码Base64解码
Base64解码Base64解码Base64解码Base64解码Base64解码
使用java8自带的base64解码生成图片
public void toImg() throws Exception { String src = &quot;iVBORw0KGgoAAAANSUhEUgAAADoAAABSCAYAAAAFHMcfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlY&quot; + &quot;WR5ccllPAAABjFJREFUeNrsm2tMW1UcwP8tpaVAoYBoOhGLiZs...
base64生成图片——图片转换变成base64
base64生成图片——图片转换变成base64 如题。 下面上货。 package com.xueyou.demo; import org.apache.commons.lang3.StringUtils; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.*; import jav
Base64解码的问题
我在Asp中调用WebService服务,得到一个经过Base64编码的XML文件,但是rn我在Asp中解码之后,Response.write写不出来,写入文件看,内容也只有一部分rn对,其它是乱码。解码的程序是从网上copy的,应该没问题,就是对接收到的rn字符串进行解码操作。
base64解码的相关问题
小弟我写了个截取SMTP数据包的程序rn 当邮件里面有中文的时候发现中文那些数据被base64加密了!rn所有我就自己写了个解密的东西!rn 但是程序却输出不了原来的汉字------的的的的的rn所以我把程序晒一下各位高手帮忙看下!rnrn#include "iostream"rn#include "string"rn#include "vector"rnusing namespace std;rnvoid encode(char* p);rnint table(char c_str); //根据base64表,由字符得到的十进制数rnvector ch_end; //根据上面得到的十进制数,得到原型rnvoid reduction(char a, char b,char c,char d,char* x,char* y,char* z);rnvoid printf_base64();rnvoid main()rnrn char ch[] = "Subject: =?gb2312?B?tcS1xLXEtcS1xA==?="; //从B?之后就是base64数据了一直到?=rn char *p = &ch[20];rn if((*(p-1) == 0x3f) && (*(p-2) == 0x42) && (*(p-3) == 0x3f))rn rn encode(p);rn rn rnrnrnvoid encode(char* p) rnrn int mark = 4;rn while(1)rn rn int i = 3; //表示取几个字符rn char a=*p,rn b=*(p+1),rn c=*(p+2),rn d=*(p+3); //得到编码后的4个字符用于得到编码前的3个字符rn char x ,y ,z ; //编码前的3个字符rn char *xx ,*yy ,*zz;rn xx = &x;rn yy = &y;rn zz = &z;rn if(c == '=' && d == '=')rn rn i = 1; //如果有2个等号那么就取转换后的1个字符rn a = table(a);rn b = table(b);rn c = 0x000000;rn d = 0x000000;rn else if(c != '=' && d == '=')rn rn i = 2; //如果有1等号那么就取转换后的2个字符rn a = table(a);rn b = table(b);rn c = table(c);rn d = 0x000000;rn else if(c != '=' && d != '=')rn rn a = table(a);rn b = table(b);rn c = table(c);rn d = table(d);rn rn ////////////////////////rn reduction(a,b,c,d,xx,yy,zz); //4变3rn ////////////////////////rn if(i == 3)rn rn ch_end.push_back(x);rn ch_end.push_back(y);rn ch_end.push_back(z);rn p+=mark;rn else if(i == 2)rn rn ch_end.push_back(x);rn ch_end.push_back(y);rn p+=mark;rn break;rn else if(i == 1)rn rn ch_end.push_back(x);rn p+=mark;rn break;rn rn rn printf_base64();rnrn//根据base64表得到十进制数rnint table(char c_str)rnrn int flag;rn c_str; rn if('a'<=c_str && 'z'>=c_str)rn rn flag = c_str-'a'+26;rn return flag;rn else if ('A'<=c_str && 'Z'>=c_str)rn rn flag = c_str-'A';rn return flag;rn rn switch (c_str)rn rn case '0': flag = 52;break;rn case '1': flag = 53;break;rn case '2': flag = 54;break;rn case '3': flag = 55;break;rn case '4': flag = 56;break;rn case '5': flag = 57;break;rn case '6': flag = 58;break;rn case '7': flag = 59;break;rn case '8': flag = 60;break;rn case '9': flag = 61;break;rn case '+': flag = 62;break; rn case '/': flag = 63;break; rn rn rn return (char)flag;rnrn//4个字节还原成3个字节rnvoid reduction(char a, char b,char c,char d,char* x,char* y,char* z) rnrn *x = a<<2 + (b<<2)>>6;rn *y = b<<4 + (c<<2)>>4;rn *z = c<<6 + (d<<2)>>2;rnrnvoid printf_base64() // 打印出原汉字rnrn for(vector::size_type i = 0;i != ch_end.size(); ++i)rn rn cout<
base64解码问题???
下面这一段rnrnu7bTrcq508MgR29vZ2xlINXKu6eho9KqvKS77sT6tcTVyrunsqLR6dakxPq1xLXn19PTyrz+tdjW\r\nt6Osx+u147v30tTPwsG0vdOjug0KDQpodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vVkU/c2Vy\r\ndmljZT1jbCZjPUNOV2k3UERfNHREVzVRRVEwNFg5cTllQmdwTmYmaGw9emhfQ04NCg0KKioq16LS\r\n4ioqKsfrtPLTobTL0rPB9Nf3vMfCvKGjyOe5+8T6yqfIpcHL1cq7p7fDzsrIqM/eo6jA/cjno6zI\r\n57n7xPrN/LzHwcvTwyANCrunw/u78sPcwuujqaOsvs3Q6NKq08O1vdHp1qTBtL3ToaMNCg0KyOe5\r\n+8T6tO3K1cHLtMvTyrz+o6y/ycTcysfG5Mv708O7p86qwe3Su7j2tefX09PKvP612Na3tLS9qNXK\r\nu6fKsc7zyuTI68HLxPq1xCANCrXn19PTyrz+tdjWt6GjyOe5+8T6sru147v30enWpMG0vdOjrM+1\r\nzbO+zbK7u+G8pLvuuMPVyrunoaMNCg0KyOe5+8T6w7vT0Mfrx/O0y7Xn19PTyrz+o6y1q772tqjK\r\nudPDu/LJvrP9tMvVyruno6y+zdDo0qrPyLfDzsrS1M/CzfjWt8rkyOvE+iANCrXEtefX09PKvP61\r\n2Na30tTW2NbD1cq7p8Pcwuujug0KaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1JlY292ZXJB\r\nY2NvdW50oaMNCg0KyOe5+7Xju/fS1MnPwbS908O709C3tNOmo6zH672ruMPN+Na3uLTWxrKi1bPM\r\n+bW90MK1xOSvwMDG97Swv9rW0KGjDQoNCrTL1sINCkdvb2dsZSDVyrun0KHX6b60yc8NCg0Kx+vX\r\notLio6y4w7Xn19PTyrz+tdjWt7K7xNy908rcu9i4tNPKvP6ho9KqveK+9s7KzOK7rn8sHLveLE+tXK\r\nu6e1xM/qx+mjrMfrt8POyiANCs7Sw8e1xLDv1vrW0rnrnrn放到网上的一些解码工具他能够解出来。。。rn但是rnConvert.FromBase64String(base64Encoded);rn老是报无效的字符串长度,我知道可能是这段编码中有 \r\n 但是把他们替换成“没有”也不行,那些解码工具他们怎么做到的~~~rn
base64 解码问题
在做邮件接收系统rn从POP3服务器下载下来的邮件,有些信息是Base64编程的需要解码。rn如:rn From: "=?GBK?B?UVHTys/kudzA7dSx?=" <10000@qq.com>rn To: 236993171@qq.comrn Subject: =?GBK?B?U01UULf+zvHJ6NbDzOHQ0Q==?=rn解码成:rn From: QQ邮箱管理员<10000@qq.com>rn To: 236993171@qq.comrn Subject: SMTP服务设置提醒rn实际操作解码后字符串有问题:rn From: 丵Q邮箱管理员<10000@qq.com>rn To: 236993171@qq.comrn Subject: 丼MTP服务设置提醒rn求大神解析,解码的时候需要把=加进去吗? 2者都试过了,不行
base64解码问题
我用c语言编写的base64加密成功了,想解密,就上网搜索了张解密表,如下rn[code=C/C++]rnconst char decode2table[]=rnrn 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,rn 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,rn 62, // '+'rn 0, 0, 0,rn 63, // '/'rn 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, // '0'-'9'rn 0, 0, 0, 0, 0, 0, 0,rn 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,rn 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // 'A'-'Z'rn 0, 0, 0, 0, 0, 0,rn 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,rn 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, // 'a'-'z'rn;[/code]rn想通过查表的方式解码的,可我搞不懂这张表是怎么来的,不懂的怎么处理,能给我讲讲吗?
求助base64解码问题
delphi xe7 update1+indy10.6收邮件,有一种邮件标题和正文含有汉字就乱码。将IdMessage1的NoDecode := True;和NoEncode := True;保存为.eml文件,用Foxmail打开正文则汉字显示正常。rn用自带的base64解码函数DecodeString(IdMessage1.Body.Text);则报错:rn[img=https://img-bbs.csdn.net/upload/201506/22/1434970415_714898.png][/img]rnrn.eml文件部分内容如下:rnSubject: ??????????????360??????????????????????????????????rnX-PHP-Originating-Script: 1017:func.phprnMIME-Version: 1.0rnrnContent-type: text/htmlrnFrom: 360???????????? rnContent-Transfer-Encoding: base64rnX-MIME-Autoconverted: from 8bit to base64 by se4.white.zwt.qihoo.net id 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
Flex Base64解码问题
服务端用Asp.net,客户端Flex4.5rnrn传送ImageUrl时用Base64编码传,英文没事,中文老是显示不出图片,把URL Alert出来,Copy到IE中,可以访问到,不知道是什么原因。rnrn刚接触FLex,求大侠指教
转化base64
img_str = base64.b64encode(pic_data).decode('ascii') imgurl = 'data:image/png;base64,' + str(img_str)
base64转化
public static String encodeBase64File(String path) throws Exception {     file = new File(path);     FileInputStream inputFile = new FileInputStream(file);     byte[] buffer = new byte[(int)file.le
Base64解码
项目的log里有很多上传文件后的base64编码的字符串,想把它解码为原来的文件。 [code=&quot;python&quot;] import base64 with open('c:/excelText.txt','r') as f1: s = f1.read() b = base64.decodebytes(bytes(s,encoding='UTF-8')) wit...
base64解码
rn“我的祖国”----base64---> ztK1xNfmufo=rnrn“おはよう”----base64---> pKqkz6TopKY=rnrnrn以上的base64存放在string中,如何解码才能让中文和日文在string中正常显示、输出到winform中呢?rnrnrn
Base64的解码?
为什么在Delphi6里提供Base64Encode函数而没有相关的解码函数。还是我没有找到,忘指教。
base64 解码
/wEPDwULLTExNDgzODY2MzkPZBYCAgMPZBYEAgMPZBYUZg9kFgICBQ8WAh4HVmlzaWJsZWdkAgEPFgIfAGhkAgIPFgIfAGcWBgIBDxYCHwBnZAIDDxYCHwBnZAIFDxYCHwBnZAIDDxYCHwBnFgYCAQ8WAh8AZ2QCAw8WAh8AZ2QCBQ8WAh8AZ2QCBA8WAh8AZ2QCBQ8WAh8AZxYEAgEPFgIfAGdkAgMPFgIfAGdkAgYPFgIfAGcWBAIBDxYCHwBnZAIDDxYCHwBnZAIHDxYCHwBnFggCAQ8WAh8AZ2QCAw8WAh8AZ2QCBQ8WAh8AZ2QCBw8WAh8AZ2QCCA8WAh8AZxYEAgEPFgIfAGdkAgMPFgIfAGdkAgkPFgIfAGcWCgIBDxYCHwBnZAIDDxYCHwBnZAIFDxYCHwBnZAIHDxYCHwBnZAIJDxYCHwBnZAIRDxYCHgtfIUl0ZW1Db3VudGZkZMeEYAYWTq5WZERLpVErIC9+bEwxiSsyS7UtDEBzwOTZrn请问这个是 base64位的,怎么解码,我有解了一些 但是中文全部是乱码?rn这是 asp.net 的 __VIEWSTATE 中的数据
后台动态生成图片问题。
Response.Write("
后台Base64解码图片变小的坑
java8 中有Base64.getMimeDecoder() 或者 Base64.getMimeEncoder()方法,可以解决编码换行的问题,是可以兼容JDK7的
后台生成图片
(作者:杨先金;撰写时间:2019年4月23日) 以生成证书为例,讲解一下如何实现在后台生成证书图片。 1、首先是证书数据的绑定: 定义一个Certifkicate()的方法,将获取到的选中行的数据一一进行绑定,为后续的生成图片做好准备工作。 2、然后是生成证书(单条&amp;批量新增证书表数据): 获取选中行,判断是否选中数据,如果选中数据的长度小于或等于0,那么弹出提示框"请选择需要生成证书...
base64字符串生成图片 代码示例
public class Test { public static void main(String[] args) throws Exception { String base64 = &quot;Qk02JAEAAAAAADYEAAAoAAAAAAEAACABAAABAAgAAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQACAgIAAwMDAAQE...
java base64字符串生成图片
public static boolean GenerateImage(String imgStr, String savedImagePath) {//对字节数组字符串进行Base64解码并生成图片           if (imgStr == null) //图像数据为空               return false;         BASE64Decoder decoder
生成图片,由Base64生成
//检查上传的物理路径是否存在,不存在则创建         if (!Directory.Exists(filePath))         {            Directory.CreateDirectory(filePath);          } ///         /// 生成图片         ///         /// 文件    
使用Java和Base64解码进行解谜并生成图片
使用Java和Base64解码进行解谜并生成图片 工具类ImgUtil: -import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutput...
对编码后的字节数组字符串进行Base64解码并生成图片
/*  * 对字节数组字符串进行Base64解码并生成图片的源码  */ public class PhotoUtil {     protected Logger logger = LoggerFactory.getLogger(getClass());  //获取     // base64字符串转化成图片     public static String GenerateIm
unsigned char * 问题 Base64解码
我的程序如下rn 声明了rn unsigned char * aDest;rn const char * aSrc;rn int len;rn rnrn 我写了这么一个方法,主要实现Base64解码,这个方法最后实现的是经过解码,把值赋到aDest上.rn但是在调这个方法传值的时候,如果不赋一个值得话,最后返回来这个参数aDest是空的,rn但是我写上memset(aDest,0,sizeof(aDest)),报错.rnrnrnint CRrrDlg::Base64Decode(const char * aSrc,unsigned char * aDest)rnrn unsigned char * p = aDest;rn int i, n = strlen( aSrc );rn unsigned char c, t;rn for ( i = 0; i < n; i++ )rn rn if ( *aSrc == '=' )rn break;rn dorn rn if ( *aSrc )rn c = Chr2Base( *aSrc++ );rn elsern c = 65; // 字符串结束rn while ( c == 64 ); // 跳过无效字符,如回车等rn if ( c == 65 )rn break;rn switch ( i % 4 )rn rn case 0 :rn t = c << 2;rn break;rn case 1 :rn *p++ = ( unsigned char )( t | ( c >> 4 ) );rn t = ( unsigned char )( c << 4 );rn break;rn case 2 :rn *p++ = ( unsigned char )( t | ( c >> 2 ) );rn t = ( unsigned char )( c << 6 );rn break;rn case 3:rn *p++ = ( unsigned char )( t | c );rn break;rn rn rn return (int)( p-aDest);rnrn请教各位高手了,这是任务的最后一天了 .高分相送阿
求助 关于Base64解码的问题
大家好 小弟求助rnrn我在用Base64解码一个比较大的文件 大概在1M左右吧rnrn然后我的做法是rnrn[code=java]FileOutputStream outStream = new FileOutputStream(localFile);rn InputStream inputStream = conn.getInputStream();rn byte[] buffer = new byte[1024];rn int len = 0;rn byte[] decode = null;rn while ((len = inputStream.read(buffer)) != -1)rn rn decode = Base64.decode(buffer, 0, len, Base64.DEFAULT);rn outStream.write(decode, 0, decode.length);rn rn inputStream.close();rn outStream.close();[/code]rnrn运行时提示java.lang.IllegalArgumentException: bad base-64rnrn求助这是什么问题 难道不能分段解码?rn只能整个解码么?(文件比较大比较多,容易溢出啊)rn求助大家了rn
关于BASE64解码还原问题
首先我用的是:org.apache.commons.codec.binary.Base64n编码、解码代码如下:nn String source = "Tom";n String encode = new String(Base64.encodeBase64(source.getBytes()));n System.out.println(encode);nn encode = "VG9tV";n System.out.println(new String(Base64.decodeBase64(encode)));n 输出结果为:n VG9tn Tomn n 疑问:为什么我把编码之后的字符串改了,再用改的这个字符串来解码,却还是得到的是原来的字符串?
base64解码后乱码的问题
请问为何对一份HTML邮件解码后出现rnǔ鹿谟ⅲ?/font>rn端哂谩?/span>rn核 ?人:rn等乱码,请问如何解决?rn函数如下rn private string deCodeB64(string strSrc)rn rn tryrn rn if(strSrc!="")rn rn byte[] by=Convert.FromBase64String(strSrc);rn strSrc=Encoding.Default.GetString(by);rn rn rn catch(Exception ex)rn return ex.ToString();rn return strSrc;rn
base64解码问题,在线等!!!
REd5bW4ie252e3F3dj4iMzA1KyRtdmt3ZWlwaUIra2o6OzkzIiJBQxNAS1VbRgs8cndnRw5EXHppb3NFcWluQkx3f3ZNb2NmSoF0bXp8Wng8MVZ3anJ7S3dsZj4MPjR5eWpGEkRxYXRjckcORHh6d0h1a2ZDPzc9OjtLMTQvOzVKRzU8ST5ELTo0OUExOU4/TUY0QzQ4PEo9RDd4c29Jd25tQhJEN3hicmNvQxNAN0tVWz8K=rnrnConvert.FromBase64String报Base-64 字符数组或字符串的长度无效rn这是一串密文,客服端64加解码没问题,但是把客户端加码后传入web端解码就报这个错误,实在不知道怎么回事了,求助啊!
base64解码保存图片遇到的问题
1.base64 字符串格式问题。 描述:web服务器接收到的base64字符串,不需要前缀。例如: data:image/png;base64, 2.上传多个图片时,注意tomcat post 的数据大小有限制 ,tomcat7设置maxPostSize=&quot;-1&quot;时才是无限大。...
SQL2000 BASE64码解码问题
下面的这段,是在网上找到的,SQL2000 base64解码的,我测试了,有个问题rn1.当转换前的源码是字母和数字时,好像没问题,如rn 源码='abcd1234/?',BAS64码='YWJjZDEyMzQvPw==',能解出正确的 abcd1234/? 来rn2.但是,当源码有中文时,如rn 源码='我们都很好',BASE64码='ztLDx7a8uty6ww==',解到的码是 我嵌很? ,不正确的rn怎么完善下面的,当源码是中文时,也能正确解码呢.....rnrn-- SQL2000 Base64编码解码rncreate function dbo.base64_decode(@encoded_text varchar(8000))rn returns varchar(6000)rn asrn beginrn declare rn @output varchar(8000), rn @block_start int, rn @encoded_length int, rn @decoded_length int, rn @mapr binary(122)rn set @output=''rn set @mapr = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -- 1-33rn + 0xFFFFFFFFFFFFFFFFFFFF3EFFFFFF3F3435363738393A3B3C3DFFFFFF00FFFFFF -- 33-64rn + 0x000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF -- 65-96rn + 0x1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 -- 97-122rnrn set @encoded_length = len(@encoded_text)rn set @decoded_length = @encoded_length /4 *3rnrn set @block_start = 1rn while @block_start < @encoded_lengthrn beginrn -- decode the block and add to output rn -- binary values between 1 and 4 bytes can be implicitly cast to INT rn set @output = @output + CAST(CAST(CAST(rn substring(@mapr,ascii(substring(@encoded_text,@block_start,1)),1) * 262144rn + substring(@mapr,ascii(substring(@encoded_text,@block_start + 1,1)),1) * 4096rn + substring(@mapr,ascii(substring(@encoded_text,@block_start + 2,1)),1) * 64rn + substring(@mapr,ascii(substring(@encoded_text,@block_start + 3,1)),1)rn as integer) as binary(3)) as varchar(3))rn set @block_start = @block_start + 4 rn endrn if right(@encoded_text,2) = '=='rn set @decoded_length = @decoded_length - 2rn else if right(@encoded_text,1) = '='rn set @decoded_length = @decoded_length - 1rn return left(@output,@decoded_length)rn endrn
后台生成图片放入EXCEL的问题
我现在要做一个用Java生成一个条码,然后放入EXCEL供客户打印。现在的做法是用OutputStream生成至磁盘上面,然后在生成EXCEL的时候读取这个图片文件。请问有没有方法可以不在磁盘产生文件而是直接将生成的图片文件传至EXCEL打印?
求后台解码问题!
我在前台传了一段SQL语句到后台.前台进行过转码,但到后台其SQL变成了如下:rnrnselect%20xm%20as%20xm%20from%20rkk%20where%201=1%20and%20xm%20like%20('%25%E8%A7%A3%E8%BE%A3%25')%20rnrn我要如何在后台进行解码变成正常的一个SQL语句,这条语句包含中文的,如果是英文的传值是没有问题的,就中文出现这种情况.求前辈们指点,我在后台也用过解码但还是不行.框架是SSH架构.
实现图片与base64的转化
可以修改图片格式,并保存到本地文件夹中。 //读取待处理的图片 String imgFile = &quot;C:\\image1.png&quot;; InputStream in = new FileInputStream(imgFile); byte[] datas = new byte[in.available()]; in.read(datas);...
base64编码与解码
base64编码与解码,vc++编写,MFC界面
Base64编码、解码
完成Base64的编码解码过程、使得在网络传输过程中不至于出现不可处理的乱码。
Base64解码工具
Base64解码工具(149K),解码,转码工具。
Base64编码和解码字符串
闲来无事用C++写了一个Base64编码和解码的小程序 Base64.h #ifndef _BASE64_H #define _BASE64_H /* Base64是一种基于64个可打印字符来表示二进制数据的表示方法,从本质上看Base64编码就是将三字节转四字节。 如果数据的长度不是3的整数倍,就要在后面补0再计算,每补2个0就再Base64串后加上1个‘=’。 Base64的不足之处
sun base64解码实现
博文链接:https://balaschen.iteye.com/blog/89111
Base64的转码与解码(Java1.8)
Java1.8 base64编码和解码
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件