Base64序列化和反序列化

序列化:

Dictionary<string, string> sPara = GetRequestPost(ref parameterStr);

                string serializeString = JSONUtility.Serialize(sPara);
                serializeString = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(serializeString));

反序列化:

System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
                        System.Text.Decoder utf8Decode = encoder.GetDecoder();
                        byte[] todecode_byte = Convert.FromBase64String(base64DataString);
                        int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
                        char[] decoded_char = new char[charCount];
                        utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
                        string decodeResult = new String(decoded_char);
                        Dictionary<string, string> sPara = JSONUtility.Deserialize<Dictionary<string, string>>(decodeResult);

主要用于httpPost协议传输数据。

Base64序列化和反序列化,布布扣,bubuko.com

时间: 2025-01-08 11:13:01

Base64序列化和反序列化的相关文章

序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密

js中数组不能传递到后台,需进行json序列化: var data = new Array(); data.push({para1:name,para2:answer}); string data = JSON.stringify(data) //解析参数 JavaScriptSerializer js = new JavaScriptSerializer(); List<Dictionary<string, string>> answerList = js.Deserialize

C# 二进制、Xml、Json序列化和反序列化

昨天利用业余时间对比了下C#中三种序列化方式(二进制.Xml.Json),综合来看json方式生成的字节数组长度最短,但当你需要序列化的对象中包括byte[]类型,且其长度较长时,序列化后,xml方式的长度较json方式更短.xml方式中对byte[]做了base64转换. 最后综合三种情况,写了一个基于泛型的通用类来完成序列化和反序列化操作,仅供参考,若有什么错误之处,还请指教. using System; using System.Collections.Generic; using Sys

Msgpack序列化及反序列化对象

MessagePack是一个基于二进制高效的对象序列化类库,可用于跨语言通信.它可以像JSON那样,在许多种语言之间交换结构对象:但是它比JSON更快速也更轻巧.支持Python.Ruby.Java.C/C++等众多语言.比Google Protocol Buffers还要快4倍. 代码地址:https://github.com/msgpack/msgpack 官网地址:http://msgpack.org/ MessagePack的优势是速度比较快,支持众多语言,便于不同语言开发的系统之间交换

List 序列化与反序列化到struts2的&lt;s:hidden&gt;变量

实现方法: 1.在Action类添加如下get/set方法,可以不需要属性: 2.把在要序列化的字段添加到form中 hidden标签用来向action传递参数 jsp页面要序列化的字段要与Action的get/set方法名称对应. serversPayExpendList查询出的充值消费新增变量,是要序列化的原变量,页面通过getSerServersPayExpendList()方法序列化serversPayExpendList变量的值,序列后以字符串的形式存储到页面的serServersPa

springboot学习(三)————使用HttpMessageConverter进行http序列化和反序列化

以下内容,如有问题,烦请指出,谢谢! 对象的序列化/反序列化大家应该都比较熟悉:序列化就是将object转化为可以传输的二进制,反序列化就是将二进制转化为程序内部的对象.序列化/反序列化主要体现在程序I/O这个过程中,包括网络I/O和磁盘I/O. 那么什么是http序列化和反序列化呢? 在使用springmvc时,我们经常会这样写: @RestController @RequestMapping("/users") public class UserController { @Auto

二叉树的序列化和反序列化

http://blog.csdn.net/qq_27703417/article/details/70958692 先序遍历二叉树,如果遇到空节点,就在str的末尾加上"#!","#"表示这个节点为空,节点值不存在,当然你也可以用其他的特殊字符,"!"表示一个值的结束.如果遇到不为空的节点,假设节点值为3,就在str的末尾加上"3!".现在请你实现树的先序序列化. 先序遍历 import java.util.*; //使用递归

PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法 2.什么是抽象类?        

序列化与反序列化

对象的序列化,反序列化 1)对象序列化,就是将Object转化为byte序列,反之叫对象的反序列化 2)序列化流(ObjectOutputStream),是过滤流----writeObject() 反序列化流(ObjectInputStream)------readObject() 3)序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准

java序列化与反序列化

public interface Serializable类通过实现 java.io.Serializable 接口以启用其序列化功能.未实现此接口的类将无法使其任何状态序列化或反序列化.可序列化类的所有子类型本身都是可序列化的.序列化接口没有方法或字段,仅用于标识可序列化的语义. 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.         序列化分为两大部分:序列化和反序列化.序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输.反序列