C# byte 和 char 转化

本文详细介绍了在C#中char与byte之间的转换方法,包括单个char到byte数组,以及byte数组到char的转换。同时,文章提供了具体的代码实现,帮助读者理解Unicode与ASCII之间的转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#  byte 和 char 可以认为是等价的。但是在文本显示的时候有差异。  



c# 使用的是unicode字符集,应该和为ascii相互转换 只能转换到字符的unicode编码,或者由unicode编码转换为字符

转换方法如一楼所写
字符变数字
char a='a';
int ua=(int)a;//字符变整数
a=(char)ua;//整数变回字符
--------------------- 

 

  • char转化为byte:

    public static byte[] charToByte(char c) { 
        byte[] b = new byte[2]; 
        b[0] = (byte) ((c & 0xFF00) >> 8); 
        b[1] = (byte) (c & 0xFF); 
        return b; 
    }

 

char[]转化为byte[]:

char[] cChar=new char[5]{a,b,c,d,e};   
byte[] byteData=Encoding.Default.GetBytes(cChar);  

// 这样转换,一个2字节的char,只转换为1个byte。

 

byte[]转化为char[]:

byte[] byteData=new byte[5]{0x01,0x02,0x03,0x04,0x05};   
char[] cChar=Encoding.ASCII.GetChars(byteData);  

 

  • byte转换为char:

    public static char byteToChar(byte[] b) { 
        char c = (char) (((b[0] & 0xFF) << 8) | (b[1] & 0xFF)); 
        return c; 
    }

转载于:https://www.cnblogs.com/nimorl/p/9836071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值