c#用什么方法将BitConverter.ToString产生字符串再转换回的去

  

本文介绍了c#用什么方法将BitConverter。ToString产生字符串再转换回的去,分享给大家,具体如下:
  

        byte [] bytTemp=System.Text.Encoding.Default.GetBytes(“字符串”);   字符串str=System.BitConverter.ToString (bytTemp);   Console.WriteLine (str);      string [] strSplit=str.Split (“-”);   byte [] bytTemp2=新字节(strSplit.Length);   for (int i=0;我& lt;strSplit.Length;我+ +)   bytTemp2[我]=字节。解析(strSplit[我],System.Globalization.NumberStyles.AllowHexSpecifier);   字符串str2=System.Text.Encoding.Default.GetString (bytTemp2);   Console.WriteLine (str2);   之前      

<强>,c# bitconverter。ToString转换为十六进制字符串
  

  

我使用BitConverter.ToString(字节)将字符串转换为十六进制字符串,我将其进一步转换为整数或浮点数。

  

但是输入流由0组成,表明字节值为0。所以假设我有一个整数,它由2个字节的输入表示,从位置x开始,第一个由EE组成,而第二个字节为00。现在当我使用BitConverter.ToString(字节,x, 2)。替换(——”、“)时,输出为EE00,其整数值为60928年,但在这种情况下,输出应该是238字节EE为整数。

  

但在其他情况下,2个字节可能是EE01,其整数值60929在这种情况下是正确的。

  

任何建议如何解决我的问题?

  

由于有人说这个问题令人困惑,我会重申我的问题我有很长的十六进制字符串作为输入。在十六进制字符串中,

  

1)前12个字节表示字符串。
  2)接下来的11个字节也代表了其他一些字符串。
  3)接下来1个字节表示整数。
  4)接下来的3个字节表示整数。
  5)接下来的4个字节表示整数。
  6)接下来的4个字节表示浮点数。
  7)接下来的7个字节表示字符串。
  8)接下来的5个字节表示整数。

  

因此,对于第4种情况,如果字节是ee 00 00,那么我应该忽略0并将ee转换为整数。但是如果它是ee 00 ee,那么我应该将ee00ee转换为整数。我每次都会遵循上面提到的相同模式。

  

我的问题已解决。我正在犯字节顺序的错误。我收到的数据是EE 00,在转换为整数之前,我应该将它作为00 EE。感谢所有为我提供解决方案的人,并抱歉错过了这个重要的问题。

  

<>强PS: c#使用BitConverter。ToString (byte[]值)转换后字符串带有横杠“-”,去掉横杠方法

  

使用BitConverter。ToString (byte[]值)。替换(“-”,“”),可去掉横杠

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

c#用什么方法将BitConverter.ToString产生字符串再转换回的去