在平常的开发过程中,经常碰到需要将string转化成byte[]字节数组的情形,有两种方法,在这里总结一下。

使用MemoryStream

代码如下。

  1 using (MemoryStream sb = new MemoryStream())
  2             {
  3                 using (var writer = new System.IO.StreamWriter(sb, Encoding.UTF8))
  4                 {
  5                     writer.Write(jsonString);
  6                 }
  7                 return sb.ToArray();
  8             }
  9 
 10 using (MemoryStream stream = new MemoryStream(data))
 11             {
 12                 using (System.IO.StreamReader reader = new System.IO.StreamReader(stream, Encoding.UTF8))
 13                 {
 14                     var jsonString = reader.ReadToEnd();
 15                     return JsonConvert.DeserializeObject<T>(jsonString);
 16                 }
 17             }
View Code

更简单的方法

  1 System.Text.Encoding.UTF8.GetBytes(jsonStr);
  2 System.Text.Encoding.UTF8.GetString(data);
View Code

注意事项

一定要使用对应的转换方法,如果使用MemoryStream,那么反转的时候也要使用MemoryStream,不然会报错。

posted on 2016-07-15 18:18  永远的麦子  阅读(501)  评论(0编辑  收藏  举报