C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1976字,纯文字阅读大概需要3分钟。
内容图文
![C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换](/upload/InfoBanner/zyjiaocheng/954/7bc91a56a2ee42beb610091e6a729924.jpg)
定义string变量为str,内存流变量为ms,比特数组为bt
1.字符串转比特数组
复制代码 代码如下: (1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");
(2)byte[] bt=Convert.FromBase64String("字符串");
2.字符串转流
复制代码 代码如下: (1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串"));
(2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));
3.流转比特数组
复制代码 代码如下: (1)byte[] bt=ms.ToArray();
(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);
4.流转字符串
复制代码 代码如下: (1)string str=Convert.ToBase64String(ms.ToArray());
(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());
5.比特数组转字符串
复制代码 代码如下: (1)string str=System.Text.Encoding.Default.GetString(bt);
(2)string str=Convert.ToBase64String(bt);
6.比特数组转流
复制代码 代码如下: (1)MemoryStream ms=new MemoryStream(bt);
(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Length);
总结:可以看出byte[]在字符串string和流MemoryStream之间转换起到过渡的作用,string和MemoryStream转换都要先转换成byte[]。
以下是将文件转为byte[]
/// <summary> /// 将文件转换成byte[] 数组 /// </summary> /// <param name="fileUrl">文件路径文件名称</param> /// <returns>byte[]</returns> protected byte[] GetFileData(string fileUrl) { FileStream fs = new FileStream(fileUrl, FileMode.Open, FileAccess.Read); try { byte[] buffur = new byte[fs.Length]; fs.Read(buffur, 0, (int)fs.Length); return buffur; } catch (Exception ex) { //MessageBoxHelper.ShowPrompt(ex.Message); return null; } finally { if (fs != null) { //关闭资源 fs.Close(); } } } /// <summary> /// 将文件转换成byte[] 数组 /// </summary> /// <param name="fileUrl">文件路径文件名称</param> /// <returns>byte[]</returns> protected byte[] AuthGetFileData(string fileUrl) { using (FileStream fs = new FileStream(fileUrl, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { byte[] buffur = new byte[fs.Length]; using (BinaryWriter bw = new BinaryWriter(fs)) { bw.Write(buffur); bw.Close(); } return buffur; } }
内容总结
以上是互联网集市为您收集整理的C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换全部内容,希望文章能够帮你解决C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。