在平常的开发过程中,经常碰到需要将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 }
更简单的方法
1 System.Text.Encoding.UTF8.GetBytes(jsonStr); 2 System.Text.Encoding.UTF8.GetString(data);
注意事项
一定要使用对应的转换方法,如果使用MemoryStream,那么反转的时候也要使用MemoryStream,不然会报错。