C# 二进制如何转成Byte[] 和 字符串
十六进制F5转成二进制是11110101,我要把11110101转成byte[],或者转成string,最后得到的byte[]或者string的值是什么,求代码...
十六进制F5转成二进制是 11110101,我要把11110101转成byte[] ,或者转成string ,最后得到的byte[]或者string的值是什么,求代码
展开
1个回答
展开全部
F5其实就是byte的16进制表现形式
byte[] bts=new byte[1]{0xF5}
你调试的时候你就会看到bts[0] 里面的值就是245;
int i=(int)bts[0];-> i的值为245
string str1=bts[0].ToString(); ->str1有可能是乱码
string str2=bts[0].ToString("X2");str2->值为F5
就这样!!
byte[] bts=new byte[1]{0xF5}
你调试的时候你就会看到bts[0] 里面的值就是245;
int i=(int)bts[0];-> i的值为245
string str1=bts[0].ToString(); ->str1有可能是乱码
string str2=bts[0].ToString("X2");str2->值为F5
就这样!!
追问
为什么是0x?
string str2=bts[0].ToString("X2");str2->值为F5
X2 是啥意思?
呵呵 对这个不懂,求清晰指教
追答
0xF5代表是数字,也就是值,直接用F5的话,代表是一个变量
byte[] bts=new byte[1]{0xF5}正确
byte[] bts=new byte[1]{F5};错误,系统会提示F5未定义
byte F5=1;
byte[] bts=new byte[1]{F5};这样就是正确的。
string str2=bts[0].ToString("X2");其中的X2表示把byte转换成16进制字符串,也就是hex字符串
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询