参考中国慕课网dot net web编程应用程序实践

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.Runtime.Serialization.Json; namespace CommonFunctions
{
public class Functions
{
/// <summary>
/// 对url中待传值进行编码
/// </summary>
/// <param name="decodeStr">待编码的字符串</param>
/// <returns></returns>
public static string EncodeUrl(string decodeStr)
{
byte [] buf = Encoding.UTF8.GetBytes(decodeStr);
string res = "";
foreach(byte b in buf)
{
res += b.ToString("X2");
}
return res;
} /// <summary>
/// 对url进行解码
/// </summary>
/// <param name="encodeStr">待解码的字符串</param>
/// <returns></returns>
public static string DecodeUrl(string encodeStr)
{
int count = encodeStr.Length / 2;
byte[] buf = new byte[count];
for(int i = 0; i < count; i++)
{
buf[i] = byte.Parse(encodeStr.Substring(i * 2, 2),System.Globalization.NumberStyles.HexNumber);
}
return Encoding.UTF8.GetString(buf);
} /// <summary>
/// xml序列化
/// </summary>
/// <typeparam name="T">待序列化得对象类型</typeparam>
/// <param name="obj">待序列化的对象</param>
/// <returns></returns>
public static string SerializerXml<T>(T obj)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
xmlSerializer.Serialize(ms, obj);
return Encoding.UTF8.GetString(ms.ToArray());
} /// <summary>
/// xml反序列化
/// </summary>
/// <typeparam name="T">待反序列化的对象类型</typeparam>
/// <param name="xmlStr">待反序列化的xml字符串</param>
/// <returns></returns>
public static T DeserializerXml<T>(string xmlStr)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
byte[] buf = Encoding.UTF8.GetBytes(xmlStr);
MemoryStream ms = new MemoryStream(buf);
return (T)xmlSerializer.Deserialize(ms);
} /// <summary>
/// json序列化
/// </summary>
/// <typeparam name="T">待序列化的对象类型</typeparam>
/// <param name="obj">待序列化的对象</param>
/// <returns></returns>
public static string SerializerJson<T>(T obj)
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
jsonSerializer.WriteObject(ms, obj);
return Encoding.UTF8.GetString(ms.ToArray());
} /// <summary>
/// json反序列化
/// </summary>
/// <typeparam name="T">待反序列化的对象类型</typeparam>
/// <param name="jsonStr">待反序列化的json字符串</param>
/// <returns></returns>
public static T DeserializerJson<T>(string jsonStr)
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T));
byte[] buf = Encoding.UTF8.GetBytes(jsonStr);
MemoryStream ms = new MemoryStream(buf);
return (T)jsonSerializer.ReadObject(ms);
}
}
}

最新文章

  1. Java EE之数据库连接与插入
  2. Linux学期总结
  3. 课堂所讲整理:输入输出流(I/O)
  4. PHP获取服务器的mac地址类
  5. mysqldump 备份原理9
  6. ICMP 实现
  7. php的header()函数前有echo输出情况分析
  8. canvas元素大小与绘图表面大小
  9. ToggleButton --------- 按钮实现开关效果
  10. 模拟美萍加密狗--Rockey2虚拟狗(三)
  11. [转载] iOS开发分辨率那点事
  12. Java 审查基调
  13. Lua学习(2)——表达式
  14. 关于php中,记录日志中,将数组转为json信息记录日志时遇到的问题总结
  15. JavaScript(五)语句
  16. scrapy_随机user-agent
  17. shiro初识
  18. 解决mysql for docker容器报错:Authentication plugin &#39;caching_sha2_password&#39; cannot be loaded
  19. 腾讯云部署golang flow流程,vue.js+nginx+mysql+node.js
  20. JavaScript--XML DOM 总结

热门文章

  1. KVM虚拟机网络
  2. 使用Jmeter测试thrift接口
  3. linux -bash: unzip: 未找到命令(实测有效!)
  4. C#中的深度学习(二):预处理识别硬币的数据集
  5. OC 大数组分割成由小数组重新组合的新数组
  6. C#中RDLC合并两个列的值
  7. 我都xxx岁了,还能继续做开发吗?
  8. postgresql 创建分表
  9. 手摸手带你用Hexo撸博客(二)之配置主题
  10. 什么是Cassandra数据库