c#中的char byte string 类型之间的转换

byte 是字节型,字节,就是储存数据的一种单位而已,一般用于二进制文件的读写。
char 是字符型,字符,就是单个的字母、数字、符号等等。
string 是字符串型,字符串,就是若干个字符。

而且 byte[] 和 char[] 都是数组类型,string 是变量类型,三者没法直接比较。
要么是 byte[]、char[]、string[],要么 byte、char、string。

如果要定义一个字符串变量,那么应该用 string;如果是一个字符串数组,那么应该用 string[]。

1. byte array -> char array

    Byte[] b=new byte[5]{0x01,0x02,0x03,0x04,0x05}; 

Char[] c=Encoding.ASCII.GetChars(b); 

2. char array -> byte array

    view plaincopy to clipboardprint?
Char[] c=new char[5]{a,b,c,d,e};   
  
Byte[] b=Encoding.Default.GetBytes(c);   
Char[] c=new char[5]{a,b,c,d,e};

Byte[] b=Encoding.Default.GetBytes(c);

3.string 转换成 Char[]

   view plaincopy to clipboardprint?
string ss="abcdefg";   
  
char[] cc=s.ToCharArray();  
string ss="abcdefg";

char[] cc=s.ToCharArray();

 
4.Char[] 转换成string


view plaincopy to clipboardprint?
using System.Text;   
  
StringBuilder sb=new StringBuilder();   
foreach(char c in cc)   
{   
  sb.Append(c);   
}   
string s=sb.ToString();  
 using System.Text;

 StringBuilder sb=new StringBuilder();
 foreach(char c in cc)
 {
   sb.Append(c);
 }
 string s=sb.ToString();
 

5.byte[] 与 string

view plaincopy to clipboardprint?
byte[] bb=Encoding.UTF8.GetBytes(ss);   
  
string s=Encoding.UTF8.GetString(bb);  
 byte[] bb=Encoding.UTF8.GetBytes(ss);

 string s=Encoding.UTF8.GetString(bb);

原文地址:https://www.cnblogs.com/mc67/p/5088296.html