LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

如何在C#中实现字符串转成字节数组或互转

admin
2024年7月28日 11:44 本文热度 569

前言

数据类型转换是数据从一种类型转换为另一种类型的过程,在编码实现中,我们经常遇见。在C#中如何实现将字符串转成字节数组。本文介绍字符串与字节数组的互转。

转换

1、字符串转成字节数组

使用.NET中的编码功能,可实现字符串转成字节数组。.NET中的Encoding 类是一个抽象类,通过其派生类使用其功能。下面通过几个示例介绍字符串转换。
示例: 字符串转换为 Ascii 格式的字节数组,并将转换后的字节打印到控制台。(使用ASCII.GetBytes
string paramInfo = "appid=20102903&sign=signcontent&format=json&version=1.0";// 使用 GetBytes 将字符串转换为字节数组byte[] byteArray = Encoding.ASCII.GetBytes(paramInfo);foreach (byte element in byteArray){    Console.WriteLine(element);}
示例: 字符串转换为 Unicode 格式的字节数组,并将转换后的字节打印到控制台。(使用Unicode.GetBytes
string paramInfo = "appid=20102903&sign=signcontent&format=json&version=1.0";// 使用 GetBytes 将字符串转换为字节数组byte[] byteUnicodeArray = Encoding.Unicode.GetBytes(paramInfo);foreach (byte element in byteUnicodeArray){    Console.WriteLine(element);}
示例:将字节数组中的一系列字节或整个字节数组从一种编码转换为另一种编码。(使用Encoding.Convert)
// 将Ascii字节数组转为Unicode字节数组byte[] bytesInUnicode = Encoding.Convert(Encoding.ASCII,Encoding.Unicode,byteArray);// 将Unicode字节数组转为Ascii字节数组byte[] bytesInAscii = Encoding.Convert(Encoding.Unicode,Encoding.ASCII,byteUnicodeArray);

2、字节数组转成字符串

使用.NET中的Encoding派生类解码功能实现,ASCII、Encoding、UTF8中的GetString或GetChars。下面通过二个示例介绍字节数组转成字符串。
示例:(使用Encoding.ASCII.GetString)
// 使用Encoding.ASCII.GetString将字节数组转字符串string byteArrayToString = Encoding.ASCII.GetString(byteArray);Console.WriteLine(byteArrayToString);
示例:(使用Encoding.Unicode.GetString)
// 使用Encoding.Unicode.GetString将字节数组转字符串string byteUnicodeArrayToString = Encoding.Unicode.GetString(byteUnicodeArray);Console.WriteLine(byteUnicodeArrayToString);

完整示例

using System.Text;
namespace Fountain.WinConsole.OtherDemo{    internal class Program    {        static void Main(string[] args)        {            string sample = "Sample string";            // 使用 GetBytes 将字符串转换为字节数组            byte[] bytes = Encoding.ASCII.GetBytes(sample);            // 输出字节数组            foreach (byte element in bytes)            {                Console.Write(element);                Console.Write("-");            }            Console.WriteLine();            // 使用 ASCII.GetString 将字节数组转换为字符串            string toString = Encoding.ASCII.GetString(bytes);            // 输出字符串            Console.WriteLine(toString);
           // 将一种编码类型转换为另一种            string unicodeString = "unicode string.";            // 使用 使用Unicode的GetBytes将字符串转换为字节数组            byte[] bytesInUni = Encoding.Unicode.GetBytes(unicodeString);            // 将Unicode转换为ASCII            byte[] bytesInAscii = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, bytesInUni);
           // 将byte[]转换为char[]            char[] charsAscii = new char[Encoding.ASCII.GetCharCount(bytesInAscii, 0, bytesInAscii.Length)];            Encoding.ASCII.GetChars(bytesInAscii, 0, bytesInAscii.Length, charsAscii, 0);            // 将char[]转换为ascii字符串            string asciiString = new string(charsAscii);            // 输出            Console.WriteLine($"Unicode字符串: {unicodeString}");            Console.WriteLine($"Ascii字符串: {asciiString}");            Console.ReadKey();        }    }}

小结

以上是关于字符串转换为字节数组和字节数组转换为字符串的全部内容,希望对大家的学习有所帮助。


该文章在 2024/7/29 18:26:05 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved