服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C# 用什么方法将BitConverter.ToString产生字符串再转换回去

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

2022-08-20 12:13森大科技 C#

这篇文章主要介绍了C# 用什么方法将BitConverter.ToString产生字符串再转换回去,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

?
1
2
3
4
5
6
7
8
9
10
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("-", ""),可去掉横杠

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

延伸 · 阅读

精彩推荐
  • C#微信公众号被动消息回复原理解析

    微信公众号被动消息回复原理解析

    这篇文章主要介绍了公众号被动消息回复原理解析,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    佳序10842022-07-28
  • C#C#编程和Visual Studio使用技巧(上)

    C#编程和Visual Studio使用技巧(上)

    C#是一门伟大的编程语言,与C++和Java相比,它的语法更简单,相对来说更好入门。Visual Studio作为.Net平台上最重量级的IDE,也通过不断的更新为开发者带来...

    C#教程网9652021-10-29
  • C#深入解析C#中的交错数组与隐式类型的数组

    深入解析C#中的交错数组与隐式类型的数组

    这篇文章主要介绍了深入解析C#中的交错数组与隐式类型的数组,隐式类型的数组通常与匿名类型以及对象初始值设定项和集合初始值设定项一起使用,需要的...

    C#教程网5612021-11-09
  • C#Unity实现背景图片淡入淡出效果

    Unity实现背景图片淡入淡出效果

    这篇文章主要为大家详细介绍了Unity实现背景图片淡入淡出,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    liuyanlei199010032022-03-11
  • C#c#进程之间对象传递方法

    c#进程之间对象传递方法

    本文主要介绍了c#进程之间对象传递的方法。具有很好的参考价值。下面跟着小编一起来看下吧...

    楚人无衣8012021-12-30
  • C#ActiveMQ在C#中的应用示例分析

    ActiveMQ在C#中的应用示例分析

    这篇文章主要介绍了ActiveMQ在C#中的应用,简单介绍了ActiveMQ的功能、下载及在C#中的具体使用方法,需要的朋友可以参考下...

    wolfman5252021-11-30
  • C#C# 观察者模式实例介绍

    C# 观察者模式实例介绍

    观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象,这个主题对象在状态发生变化时,会通知所有观察者。当一个对...

    C#教程网11672021-04-14
  • C#C#利用GDI绘制常见图形和文字

    C#利用GDI绘制常见图形和文字

    本文主要介绍了C#中利用GDI来绘制图形和文字的方法,并提供的简单的示例供大家参考学习,希望能够对大家有所帮助。...

    Kimisme4102021-11-17