C# Byte数组转换String的方法
本篇内容主要讲解“C# Byte数组转换String的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C# Byte数组转换String的方法”吧!
C#编程过程中将Byte数组转换String是我们经常碰到的问题,那么如何解决C# Byte数组转换String呢?那么我们来看看具体的涉及到的方法以及关于如何解决C# Byte数组转换String的讨论。
FCL得很多方法的返回值都是包含字符的Byte数组而不是返回一个String,这样的方法包含在如下的类中:
· System.Net.Sockets.Socket.Receive
· System.Net.Sockets.Socket.ReceiveFrom
· System.Net.Sockets.Socket.BeginReceive
· System.Net.Sockets.Socket.BeginReceiveFrom
· System.Net.Sockets.NetworkStream.Read
· System.Net.Sockets.NetworkStream.BeginRead
· System.IO.BinaryReader.Read
· System.IO.BinaryReader.ReadBytes
· System.IO.FileStream.Read
· System.IO.FileStream.BeginRead
· System.IO.MemoryStream // Constructor
· System.IO.MemoryStream.Read
· System.IO.MemoryStream.BeginRead
· System.Security.Cryptography.CryptoStream.Read
· System.Security.Cryptography.CryptoStream.BeginRead
· System.Diagnostics.EventLogEntry.Data
由这些方法返回的Byte数组中包含的通常是以ASCII编码或是Unicode编码的字符,很多时候,我们可能需要将这样的Byte数组转换为一个String。
C# Byte数组转换String解决方案:
将一个包含ASCII编码字符的Byte数组转化为一个完整的String,可以使用如下的方法:
using System; using System.Text; public static string FromASCIIByteArray(byte[] characters) { ASCIIEncoding encoding = new ASCIIEncoding( ); string constructedString = encoding.GetString(characters); return (constructedString); }
将一个包含Unicode编码字符的Byte数组转化为一个完整的String,可以使用如下的方法:
public static string FromUnicodeByteArray(byte[] characters) { UnicodeEncoding encoding = new UnicodeEncoding( ); string constructedString = encoding.GetString(characters); return (constructedString); }
关于C# Byte数组转换String的讨论
ASCIIEncoding类的GetString方法可以将byte数组中的7-BitsASCII字符转换为一个String;任何大于127的值将被转化为两个字符。在System.Text命名空间中你可以找到ASCIIEncoding类,查找该类的GetString函数你还可以发现这个函数有多种重载方式以支持一些附加的参数。这个方法的重载版本还可以将一个Byte数组中的一部分字符转化为String。
将Byte数组转化为String的GetString方法可以在System.Text命名空间的UnicodeEncoding类中找到,该方法将包含16-bitsUnicode字符的Byte数组转化为String。同ASCIIEncoding类的GetString方法一样,该方法也包含一个将Byte数组中的特定部分转化为String的重载版本。
到此,相信大家对“C# Byte数组转换String的方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341