我的怪怪~~~~Java的Base64编码,c#竟然解码不了

问题描述

因为请求java的网站post过去后对方传递过来得到的结果是byte[]数组,我的第一步是采用大家双方约定好的UTF-8编码varcontent=Encoding.UTF8.GetString(bytes).Trim();得到content值:eyJyZXRjb2RlIjoiMjAxMDAxIiwicmV0bXNnIjoi6aqM562-5aSx6LSlIn0然后下边打算先转换为base64,再回转成正常的string,结果下一句代码就错了,提示不是正确的base64字符串。。varbytes=Convert.FromBase64String(content);各位遇到过的是如何解决?

解决方案

解决方案二:
你用你那个所谓的base64,然后随便找个网站看看能逆转不,逆转之后再加密一次,看看是不是一样
解决方案三:
base64是标准的编码,java/c#可以互转,老早之前测试过的。
解决方案四:
base64什么时候有减号了?
解决方案五:
Encoding.UTF8.GetString(bytes).Trim();
解决方案六:
Encoding.UTF8.GetString(bytes).Trim();
解决方案七:
Encoding.UTF8.GetString(bytes).Trim();这个不是base64编码这个才是Convert.ToBase64String(bytes);
解决方案八:
引用4楼danjiewu的回复:

Encoding.UTF8.GetString(bytes).Trim();

什么意思?
解决方案九:
引用1楼feiyun_Web的回复:

你用你那个所谓的base64,然后随便找个网站看看能逆转不,逆转之后再加密一次,看看是不是一样

对方推过来的就是base64了。我尝试了下其他平台也没法正确解码
解决方案十:
引用6楼danjiewu的回复:

Encoding.UTF8.GetString(bytes).Trim();这个不是base64编码这个才是Convert.ToBase64String(bytes);

不好意思,是解码,我帖子内容写错了。就是解码不了。不是要转换成为base64
解决方案十一:
将byte数组逆序排列后再convert试下,我记得有看到java中的数组排列顺序与C#相比是反的
解决方案十二:
不可能。base64通用的
解决方案十三:
可能是变种。+/两个有多种变种。
解决方案十四:
引用9楼tiancaolin的回复:

Quote: 引用6楼danjiewu的回复:
Encoding.UTF8.GetString(bytes).Trim();这个不是base64编码这个才是Convert.ToBase64String(bytes);

不好意思,是解码,我帖子内容写错了。就是解码不了。不是要转换成为base64

解码的话,发过来的就应该是string而不是byte[]
解决方案十五:
确认下java内部字符串转byte的使用的编码方式
解决方案:
这个问题我以前好像也遇到过,不是转码的问题是接收字符串的时候出错了
解决方案:
这个直接找下对方,对比一下原始串是否跟你获取到的数据是否一致吧,还有看到有减号的一看就不是正经的base64,还要替换
解决方案:
你先在那种在线转码的网站闻逆转下,看行不行,不行的话,就是有问题了

时间: 2024-11-01 05:46:13

我的怪怪~~~~Java的Base64编码,c#竟然解码不了的相关文章

Java实现BASE64编码和解码的方法_java

BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更具体地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式.Java语言提供了一个非常好的BASE64算法的实现,.本文将简要地讲述怎样使用BASE64以及它是怎样工作的. Base64的作用:主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输.由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下就可以了. 第一种方式: 通过反射使用java 中不对外公开的

js对图片base64编码字符串进行解码并输出图像

 这篇文章主要介绍了js对图片base64编码字符串进行解码并输出图像的具体实现,大家可以参考下面的示例  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xh

js对图片base64编码字符串进行解码并输出图像示例_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

Java base64编码解码工具类

    前几天无意中看到Java中有Base64编码,不解的我去百科了一下,了解了Base64的基本使用和实现原理,于是在空暇时自己手动写了一个,这个类可以完成对字母数字的编码和解码工作,但是对于中文,还没有仔细研究其编码的实现过程.至于什么是Base64,用它来干什么,请移步到:http://zh.wikipedia.org/zh-cn/Base64  下面贴出这个工具类的源代码,供朋友们参考,本人新手写得不好,请用力拍砖: /************************Base64Uti

JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)_javascript技巧

本文实例讲述了JS实现对中文字符串进行utf-8的Base64编码的方法.分享给大家供大家参考,具体如下: 要进行编码的字符串:"select 用户名 from 用户" 使用JAVA进行编码,Java程序: String sql = "select 用户名 from 用户"; String encodeStr = new String(Base64.encode(sql.getBytes("UTF-8"))); // 编码 System.out.

Java 和 JavaScript 真正通用的Base64编码详解_java

 Java 和 JavaScript Base64编码 在开发Java  Web应用的时候,可能会在服务器端用Java做Base64编码,而在客户端用JavaScript进行解码.这样就要求两边的Base64编码机制保持一致. 使用Base64编码,可能会碰到各种奇怪情况,甚至怀疑编码有bug.但实际上不是这样的.Base64理论上操作的对象不是字符串而是字节数组.它的原理就是把ASCII码的255个字符缩小到用64个来表示.具体就是原来三个字节用四个字节表示,编码后长度有一定的增长. 1) 最

Java实现图片与Base64编码互转_java

淘宝里面的html用base64转换图片,不知道为什么,不过看起来好像很美好,话不多说,直接上代码: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import sun.misc.BASE64Decoder; import sun.misc.BA

利用PHP将图片转换成base64编码的实现方法_php实例

先来说一下为什么我们要对图片base64编码 base64是当前网络上最为常见的传输8Bit字节代码的编码方式其中之一.base64主要不是加密,它主要的用途是把某些二进制数转成普通字符用于网络传输.由于这些二进制字符在传输协议中属于控制字符,不能直接传送,所以需要转换一下.虽然图片可能直接传输,但是我们也可以将它变成字符串直接放在源码里,而不需要浏览器在读取到源码后再从服务器上下载. 如何使用PHP对图片进行base64解码输出 <?php $img = 'test.jpg'; $base64

JavaScript实现Base64编码转换_javascript技巧

简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符.三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示.它可用来作为电子邮件的传输编码.在Base64中的可打印字符包括字母A-Z.a-z.数字0-9,这样共有62个字符,此外的两个可打印符号在不同的系统中而不同,一般为+和/. 转换原理 Base64的直接数据源是二进制序列(Binary Sequence).当然,你也可以