本文介绍了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产生字符串再转换回的去