C# byte 和 char 可以認為是等價的。但是在文本顯示的時候有差異。
c# 使用的是unicode字符集,應該和為ascii相互轉換 只能轉換到字符的unicode編碼,或者由unicode編碼轉換為字符
轉換方法如一樓所寫
字符變數字
char a='a';
int ua=(int)a;//字符變整數
a=(char)ua;//整數變回字符
---------------------
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;
}