ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C# 中 byte 转化成string

C# 中 byte 转化成string

原创 Linux操作系统 作者:googlgoracle 时间:2012-08-15 14:52:22 0 删除 编辑

C# Byte数组转换String的问题在我们实际开发过程中是如何实现的呢?C# Byte数组转换String具体涉及的方法以及讨论是什么呢?那么本文就向你介绍这方面的内容。

AD: 51CTO云计算架构师峰会 抢票进行中!

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,可以使用如下的方法:

  1. using System;   
  2. using System.Text;   
  3.  
  4. public static string FromASCIIByteArray(byte[] characters)   
  5. {   
  6. ASCIIEncoding encoding = new ASCIIEncoding( );   
  7. string constructedString = encoding.GetString(characters);   
  8. return (constructedString);   
  9. }   

将一个包含Unicode编码字符的Byte数组转化为一个完整的String,可以使用如下的方法:

  1. public static string FromUnicodeByteArray(byte[] characters)   
  2. {   
  3. UnicodeEncoding encoding = new UnicodeEncoding( );   
  4. string constructedString = encoding.GetString(characters);   
  5. return (constructedString);   
  6. }  

关于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的基本内容就向你介绍到这里,希望对你了解和学习C# Byte数组转换String有所帮助。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26221264/viewspace-741051/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Anchor 和 Dock
请登录后发表评论 登录
全部评论

注册时间:2011-10-19

  • 博文量
    36
  • 访问量
    115351