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

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

byte[]  bytTemp  =  System.Text.Encoding.Default.GetBytes("String");
  string  str  =  System.BitConverter.ToString(bytTemp);
  Console.WriteLine(str);  

  string[]  strSplit  =  str.Split('-');
  byte[]  bytTemp2  =  new  byte[strSplit.Length];
  for  (int  i  =  0;  i  <  strSplit.Length;  i++)
      bytTemp2[i]  =  byte.Parse(strSplit[i],  System.Globalization.NumberStyles.AllowHexSpecifier);
  string  str2  =  System.Text.Encoding.Default.GetString(bytTemp2);
  Console.WriteLine(str2);

 c#bitconverter.ToString转换为十六进制字符串

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

但是输入流由0组成,表明字节值为0.所以假设我有一个整数,它由2个字节的输入表示,从位置x开始,第一个由 EE 组成,而第二个字节为 00 。现在当我使用 BitConverter.ToString(bytes,x,2).Replace( - ”,”)时,输出为 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转换为整数。我每次都会遵循上面提到的相同模式。

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

PS:C# 使用BitConverter.ToString(byte[] value)转换后字符串带有横杠“-”,去掉横杠方法

使用BitConverter.ToString(byte[] value).Replace("-", ""),可去掉横杠

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

(0)

相关推荐

  • C#中BitConverter.ToUInt16()和BitConverter.ToString()的简单使用

    下面是msdn中的一个例子,在我刚看到这里例子时,该例子有三点是我可以学到的. 第一:排列格式.如:定义一个常量变量const  string  a="{0,11}{1,10},{2,7}"; 这样一个格式用来排列三个变量的位置,第一个变量占5个位置,第二个变量占8个位置,第三个变量占10个位置.中英文都算一个位置.比如在控制台上输出 Console.WriteLine(a,"以后想找什么当另外一半","找个又帅又有车的","那买副象棋

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

    本文介绍了C# 用什么方法将BitConverter.ToString产生字符串再转换回去,分享给大家,具体如下: byte[] bytTemp = System.Text.Encoding.Default.GetBytes("String"); string str = System.BitConverter.ToString(bytTemp); Console.WriteLine(str); string[] strSplit = str.Split('-'); byte[] by

  • C#实现实体类与字符串互相转换的方法

    本文实例讲述了C#实现实体类与字符串互相转换的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Text; namespace PackDLL.Data.ConvertData { /// <summary> /// 实体类.字符串互相转换 /// </summary> public class PackReflectionEntity<T> { //

  • Java中byte[]、String、Hex字符串等转换的方法

    代码如下所示: /*输入一个byte和byte[]合并为byte[]*/ public byte[] byteMerger(byte byte_1, byte[] byte_2) { byte[] byte_3 = new byte[1 + byte_2.length]; byte_3[0] = byte_1; System.arraycopy(byte_2, 0, byte_3, 1, byte_2.length); return byte_3; } /*输入一个byte[]和byte[]合并

  • Python实现查找匹配项作处理后再替换回去的方法

    本文实例讲述了Python实现查找匹配项作处理后再替换回去的方法.分享给大家供大家参考,具体如下: 这里实现Python在对找到的匹配项进行适当处理后,再替换掉原来那个匹配的项. #!/usr/bin/python # coding=GBK import re # 对m作适当处理后返回结果 def fun(m): print("in: %s" %m.group(0)) ret = m.group(0).upper()[::-1] return ret src = "what

  • JavaScript sup方法入门实例(把字符串显示为上标)

    sup 方法返回使用 HTML sup 标签属性定义的上标字符串.其语法如下: 复制代码 代码如下: str_object.sup() 提示:该方法不符合 ECMA 标准,不建议使用. sup 方法实例: 复制代码 代码如下: <script language="JavaScript"> document.write( '我们' + '每一点进步,都是我们通往成功道路上的坚实脚印'.sup() ); </script> 运行该例子,输出: 复制代码 代码如下:

  • JavaScript通过字典进行字符串翻译转换的方法

    本文实例讲述了JavaScript通过字典进行字符串翻译转换的方法.分享给大家供大家参考.具体分析如下: 这里实际上就是先设置一个对照的字典,然后通过翻译函数,从字典中找到相应的键值.需要在JavaScript 1.8以上版本使用 函数定义如下: function CreateTranslator(translationTable) function(s) s.replace( new RegExp([k for (k in translationTable)].join('|'), 'g'),

  • php将字符串全部转换成大写或者小写的方法

    本文实例讲述了php将字符串全部转换成大写或者小写的方法.分享给大家供大家参考.具体分析如下: php中可以通过strtolower和strtoupper两个函数将字符串中的每个英文字符全部转换成小写或者大写 <?php $string = "Learn PHP string functions at jb51.net"; $lower = strtolower($string); $upper = strtoupper($string); print("$lower\

  • JavaScript strike方法入门实例(给字符串加上删除线)

    JavaScript strike 方法 strike 方法返回使用 HTML strike 标签属性定义的删除线样式的字符串.其语法如下: 复制代码 代码如下: str_object.strike() 提示:该方法不符合 ECMA 标准,不建议使用. strike 方法实例 复制代码 代码如下: <script language="JavaScript"> var str = "www.jb51.net"; document.write( str.st

  • JavaScript sub方法入门实例(把字符串显示为下标)

    JavaScript sub 方法 sub 方法返回使用 HTML sub 标签属性定义的下标字符串.其语法如下: 复制代码 代码如下: str_object.sub() 提示:该方法不符合 ECMA 标准,不建议使用. sub 方法实例 复制代码 代码如下: <script language="JavaScript"> document.write( '我们' + '每一点进步,都是我们通往成功道路上的坚实脚印'.sub() ); </script> 运行该例

随机推荐