怎么将字符串的高低分分开?求支招

lixinyu306 2017-11-09 03:07:10
string I = (Convert.ToInt16(current.Text) * 10).ToString("X4");

byte[] I = BitConverter.GetBytes();//括号中未填写

string Il = I[0].ToString("X2");
string Ih = I[1].ToString("X2");

I是通过计算转化为的四位十六进制,想把它转化为字节数组在分别表示,但未成功。
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
静静的意思 2017-11-10
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
            var a = 666;
            var b = BitConverter.GetBytes(a);
            Console.WriteLine(b[0].ToString("X2"));//9A
            Console.WriteLine(b[1].ToString("X2"));//02
//或
            Console.WriteLine(BitConverter.ToString(b).Split('-')[0]);//9A
            Console.WriteLine(BitConverter.ToString(b).Split('-')[1]);//02
用Array.Reverse(b)将高低位互换一下。
xuzuning 2017-11-10
  • 打赏
  • 举报
回复
            var a = 666;
            var b = BitConverter.GetBytes(a);
            Console.WriteLine(b[0].ToString("X2"));//9A
            Console.WriteLine(b[1].ToString("X2"));//02
//或
            Console.WriteLine(BitConverter.ToString(b).Split('-')[0]);//9A
            Console.WriteLine(BitConverter.ToString(b).Split('-')[1]);//02
assky124 2017-11-09
  • 打赏
  • 举报
回复
byte1 = b&0x0f byte2 = (b&0xf0)>>4 差不多这样吧
静静的意思 2017-11-09
  • 打赏
  • 举报
回复
先将int型的数的高低位分别取出来不行吗?如下:
int high = (num & 0xff00) >> 8;
int low = num & 0x00ff;
然后high.ToString("X2"); low.ToString("X2");就可以了。
帅猪儿 2017-11-09
  • 打赏
  • 举报
回复
另外, I[0]是不能用ToString("X2")的,需要将其装换成非string吧
帅猪儿 2017-11-09
  • 打赏
  • 举报
回复
亲,你这么能定义两个“I”,这样不是错误的吗?

110,539

社区成员

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

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

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