将Byte数组转化为String
发布日期:2021-06-30 19:11:20
浏览次数:3
分类:技术文章
本文共 1663 字,大约阅读时间需要 5 分钟。
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。 解决方案 将一个包含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); } 讨论 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的重载版本。转载地址:https://linuxstyle.blog.csdn.net/article/details/1539848 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月30日 04时49分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
STM32之知其然,知其所以然
2019-04-30
关于STM32函数定义
2019-04-30
STM32之TIMER基本定时器应用
2019-04-30
stm32之DMA
2019-04-30
STM32之ADC应用(基于F1库函数)
2019-04-30
TIMER之pwm应用
2019-04-30
字符串删除,并输出新的字符串
2019-04-30
c指针数组比对程序
2019-04-30
c内存及字符串操作
2019-04-30
C语言的指针在32位单片机上的应用
2019-04-30
C语言->参数类型所占字节数计算
2019-04-30
C语言之i++ 和++i 的区别验证程序
2019-04-30
柔性数组验证程序
2019-04-30
bool型函数定义及应用
2019-04-30
字符串复制操作
2019-04-30
大端与小段模式验证程序
2019-04-30
论 1与 ‘1’,“1”的区别
2019-04-30
c语言的内存对齐问题
2019-04-30
#运算符
2019-04-30
堆和栈的区别
2019-04-30