时间:2021-05-20
本文介绍了C# 用什么方法将BitConverter.ToString产生字符串再转换回去,分享给大家,具体如下:
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("-", ""),可去掉横杠
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#生成不重复随机字符串类。分享给大家供大家参考。具体如下:这个C#类用于随机产生不重复的字符串,可以指定字符串范围,可以指定要产生字符串的长度u
1.基本概念与作用原生字符串(RawString)指不进行转义“所见即所得”的字符串。很多编程语言早已支持原生字符串,如C#、Python、Shell等。C++
(一)转换为字符串复制代码代码如下:X+''toString()String()函数转换为字符串一般是将函数体输出,不过可以重写其toString方法(二)转换
JavaScript允许数组与字符串之间相互转换。其中Array方法对象定义了3个方法,可以把数组转换为字符串,如表所示。数组方法说明toString()将数组
本文实例讲述了C#字符串数组转换为整形数组的方法。分享给大家供大家参考。具体实现方法如下://////字符串数组转换整形数组//////字符串数组///publ