我想将一个string编码到base64中,并通过一个套接字将其传回并解码。 但解码后给出不同的答案。 以下是我的代码,结果是“77 + 9x6s =” import javax.xml.bind.DatatypeConverter; public class f{ public static void main(String a[]){ String str = new String(DatatypeConverter.parseBase64Binary("user:123")); String res = DatatypeConverter.printBase64Binary(str.getBytes()); System.out.println(res); } } 任何关于如何实现这个想法? 谢谢…
有谁知道如何使用Base64解码和编码Base64中的string。 我正在使用下面的代码,但它不工作。 String source = "password"; byte[] byteArray = source.getBytes("UTF-16"); Base64 bs = new Base64(); //bs.encodeBytes(byteArray); System.out.println( bs.encodeBytes(byteArray)); //bs.decode(bs.encodeBytes(byteArray)); System.out.println(bs.decode(bs.encodeBytes(byteArray)));
有谁知道如何将UIImage转换为Base64string,然后将其反转? 我有下面的代码; 编码之前的原始图像是好的,但我编码和解码后,我只得到一个空白的图像。 NSData *imageData = UIImagePNGRepresentation(viewImage); NSString *b64EncStr = [self encode: imageData]; NSString *base64String = [self encodeBase64:imageData];
维基百科说 Base64编码scheme通常用于需要对需要存储和传输的二进制数据进行编码以处理文本数据的介质。 这是为了确保数据在运输过程中保持完整无需修改。 但是不是数据总是以二进制forms存储/传输,因为我们的机器存储二进制文件的内存,这取决于你如何解释它? 因此,无论您将位模式010011010110000101101110编码为ASCII为Man还是在Base64中编码为TWFu ,您最终都将存储相同的位模式。 如果最终的编码是以零和1来表示的,而每一台机器和媒体都可以处理这些编码,那么数据是以ASCII还是Base64来表示,怎么样? 这是什么意思是“旨在处理文本数据的媒体”? 他们可以处理二进制=>他们可以处理任何事情。 谢谢大家,我想我现在明白了。 当我们发送数据时,我们不能确定数据将被解释为与我们预期的相同的格式。 所以我们发送双方都知道的某种格式的数据(比如Base64)。 这样,即使发送者和接收者以不同的方式解释相同的事物,但是因为他们对编码格式达成一致,数据也不会被错误地解释。 从马克·拜尔例子 如果我想发送 Hello world! 一种方法是像ASCII一样发送它 72 101 108 108 111 10 119 111 114 108 100 33 但是字节10可能不会被正确解释为另一端的换行符。 所以,我们使用ASCII的一个子集来对它进行编码 83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61 以相同数量的信息传输更多的数据为代价,即使接收者碰巧对字符集的其余部分有不同的解释,也能确保接收者能够以预定的方式解码数据。
我试图“解码”下面的Base64string: OBFZDTcPCxlCKhdXCQ0kMQhKPh9uIgYIAQxALBtZAwUeOzcdcUEeW0dMO1kbPElWCV1ISFFKZ0kdWFlLAURPZhEFQVseXVtPOUUICVhMAzcfZ14AVEdIVVgfAUIBWVpOUlAeaUVMXFlKIy9rGUN0VF08Oz1POxFfTCcVFw1LMQNbBQYWAQ == 这就是我所知道的string本身: 原始string首先通过以下代码: private static string m000493(string p0, string p1) { StringBuilder builder = new StringBuilder(p0); StringBuilder builder2 = new StringBuilder(p1); StringBuilder builder3 = new StringBuilder(p0.Length); int num = 0; Label_0084: while (num < builder.Length) { int num2 = 0; while (num2 < p1.Length) { if ((num == builder.Length) || (num2 == builder2.Length)) […]
我正在用salt实现密码哈希,所以我生成salt为二进制,哈希密码,base64编码密码和盐,然后将它们存储到数据库中。 现在当我检查密码的时候,我应该把salt解码成二进制数据,用它来散列提供的密码,base64对结果进行编码,并检查结果是否与数据库中的匹配。 问题是,我找不到一种方法将盐解码成二进制数据。 我使用Buffer.toString方法对它们进行了编码,但似乎没有反转function。
我知道什么是base64编码,以及如何在C#中计算base64编码,但是我已经多次看到,当我将一个string转换为base64时,最后是一个= 。 有几个问题出现了: base64string总是以=结尾吗? 为什么最后会附加一个= ?
在这个问题上, Erik需要在Node.js中生成一个安全的随机标记。 有一个方法crypto.randomBytes生成一个随机的缓冲区。 但是,节点中的base64编码不是url安全的,它包含/和+而不是-和_ 。 因此,我发现的最简单的方法来生成这样的令牌 require('crypto').randomBytes(48, function(ex, buf) { token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-'); }); 有没有更优雅的方式?
我从远程数据库中获取了Base64string的位图( encodedImage是用Base64表示图像的string): profileImage = (ImageView)findViewById(R.id.profileImage); byte[] imageAsBytes=null; try { imageAsBytes = Base64.decode(encodedImage.getBytes()); } catch (IOException e) {e.printStackTrace();} profileImage.setImageBitmap( BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length) ); profileImage是我的ImageView 好吧,但我必须调整这个图像之前,我的布局在我的ImageView上显示它。 我必须调整到120×120。 有人可以告诉我的代码来调整它吗? 我发现的例子不能应用于base64string获得的位图。
我正在查看一个greasemonkey userscript的来源,并注意到他们的CSS中的以下内容: .even { background: #fff url(data:image/gif;base64,R0lGODlhBgASALMAAOfn5+rq6uvr6+zs7O7u7vHx8fPz8/b29vj4+P39/f///wAAAAAAAAAAAAAAAAAAACwAAAAABgASAAAIMAAVCBxIsKDBgwgTDkzAsKGAhxARSJx4oKJFAxgzFtjIkYDHjwNCigxAsiSAkygDAgA7) repeat-x bottom} 我可以理解的是,一个greasemonkey脚本可能想要在源代码中捆绑任何东西,而不是将其托pipe在服务器上,这足够明显。 但是由于我以前没有见过这种技术,所以我考虑过它的使用,这似乎很有吸引力,原因有很多: 它将减less页面加载时的HTTP请求量,从而提高性能 如果没有CDN,那么它将减less通过与图像一起发送的cookie产生的通信量 CSS文件可以被caching CSS文件可以被GZIPPED 考虑到IE6(例如)有背景图像caching的问题,这似乎不是最糟糕的想法… 那么,这是一个好的或不好的做法,为什么不使用它,你会用什么工具来base64编码图像? 更新 – testing结果 testing与图像: http : //fragged.org/dev/map-shot.jpg – 133.6Kb testingurl: http : //fragged.org/dev/base64.html 专用CSS文件: http : //fragged.org/dev/base64.css – 178.1Kb GZIP编码服务器端 产生的大小发送到客户端(YSLOW组件testing): 59.3Kb 保存发送给客户端浏览器的数据: 74.3Kb 不错,但是对于较小的图像来说,它会略微有用,我猜。 更新:在Google工作的Google工程师Bryan McQuade在ChromeDevSummit 2013上表示:数据:uris在CSS中被认为是在他的演讲中提供关键/最小CSS的渲染阻止反模式#perfmatters: Instant mobile web apps 。 请参阅http://developer.chrome.com/devsummit/sessions,并牢记 – 实际的幻灯片