byte[] 转 int问题

alexsun6 2016-12-05 11:01:49
现在又一个byte[],要转化为int。

byte[] newBuf = new byte[4];
Array.Copy(buf, 0, newBuf, 0, 4);
int y = System.BitConverter.ToInt32(newBuf, 0);


newBuf里面数据为{50,48,49,55},我想把转化为int,也就是y的值为2017.

请问应该怎么转化。
...全文
127 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
john_QQ:2335298917 2016-12-05
  • 打赏
  • 举报
回复
乐翻我了,哈哈哈
xuzuning 2016-12-05
  • 打赏
  • 举报
回复
            byte[] newBuf = { 50, 48, 49, 55 };
            int num = int.Parse(Encoding.ASCII.GetString(newBuf));
by_封爱 版主 2016-12-05
  • 打赏
  • 举报
回复
我说我转了半天也得不到2017....... 快滚
by_封爱 版主 2016-12-05
  • 打赏
  • 举报
回复
我擦了...吓死我了 我都没敢回答这个问题.. 如果你说的ASCII 那不就是.

            byte[] newBuf = { 50, 48, 49, 55 };
            var a = System.Text.ASCIIEncoding.ASCII.GetString(newBuf);
            Response.Write(a);
alexsun6 2016-12-05
  • 打赏
  • 举报
回复
引用 2 楼 crystal_lz 的回复:
我想知道 2017 这个值是怎么来的
ASCII 50 对应的int就是2啊,所以50,48,49,55分别对应2 0 1 7啊
crystal_lz 2016-12-05
  • 打赏
  • 举报
回复
我想知道 2017 这个值是怎么来的
幻夢之葉 2016-12-05
  • 打赏
  • 举报
回复

byte[] newBuf = { 50, 48, 49, 55 };
int value = (int)((newBuf[0] & 0xFF) | ((newBuf[1] & 0xFF) << 8) | ((newBuf[2] & 0xFF) << 16) | ((newBuf[3] & 0xFF) << 24));
Console.WriteLine(value);
Silentdoer 2016-12-05
  • 打赏
  • 举报
回复
System.BitConverter.ToInt32(newBuf, 0);这个是将4个byte连在一起转换成为4字节的Int类型
crystal_lz 2016-12-05
  • 打赏
  • 举报
回复
引用 3 楼 alexsun6 的回复:
[quote=引用 2 楼 crystal_lz 的回复:] 我想知道 2017 这个值是怎么来的
ASCII 50 对应的int就是2啊,所以50,48,49,55分别对应2 0 1 7啊[/quote] 你还是先把int 和 string 分清楚了再说吧

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧