C# byte 和 char 轉化


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; 
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM