C# 十六进制转换问题

粉丝鸡蛋 2010-07-07 03:37:16

FileStream filestream = new FileStream("桌子.ild", FileMode.Open);
BinaryReader read = new BinaryReader(filestream);
byte[] by = new byte[950];//第一帧
try
{
by = read.ReadBytes(950);
string[] str = new string[950];
for (int i = 0; i < 950; i++)
{
int temp = by[i];
str[i] = temp.ToString("X");
}
}

我用ToString()转化成十六进制时比如 "07""0A"会自动变成“7”"A"
因为后面我要用到把这两个拼接成"70A"
不知道各位有什么办法?
读取一个存图像的二进制文件的,头搞大了!
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-07-08
  • 打赏
  • 举报
回复
string binary1 = Convert.ToString(7, 2).PadLeft('0',8);
粉丝鸡蛋 2010-07-08
  • 打赏
  • 举报
回复
string binary1 = Convert.ToString(7, 2);
这样得出的数是 111,我想得出00000111,不知大家有和建议?
兔子-顾问 2010-07-08
  • 打赏
  • 举报
回复
BitConvert.GetUInt16
粉丝鸡蛋 2010-07-08
  • 打赏
  • 举报
回复
在请教大家一个问题啊
比如读取两个byte 第一byte是7 第二个是10 对应的二进制应该是 00000111 00001010把
我想这样做,做一个函数得到这样一个结果
两个字节拼起来就是0000011100001010 第一位是符号位,其余是数字位,得出一个十进制数
大家看怎么做呀?
深海之蓝 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 happykaoyan 的回复:]
C# code
str[i] = temp.ToString("X2");


找到了,不过大家对这个项目有什么说一说啊!
[/Quote]
这个正确
marcoak 2010-07-07
  • 打赏
  • 举报
回复
处理二进制文件还是用结构+映射来得快. 你这种处理太慢了.
lovelan1748 2010-07-07
  • 打赏
  • 举报
回复
啥也不说了,接分
粉丝鸡蛋 2010-07-07
  • 打赏
  • 举报
回复
str[i] = temp.ToString("X2");

找到了,不过大家对这个项目有什么说一说啊!
csu_dog 2010-07-07
  • 打赏
  • 举报
回复
1byte是8位,"1A"占1byte

还有你根据不需要用一个字符串数组来做这个.BitConverter.ToString(byte[])直接输出成16格式的字符串

110,538

社区成员

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

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

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