C# 返回日期时间的字符串格式字节数组
我需要与返回字符串的服务交互。。。。但是,这是文本中字节数组的表示形式 然后我需要将这个字符串转换成字节数组,然后再转换成DateTime 更糟糕的是,我真的不知道使用了什么类型的编码……我只知道提供给我的两个示例:C# 返回日期时间的字符串格式字节数组,c#,arrays,parsing,reverse-engineering,data-conversion,C#,Arrays,Parsing,Reverse Engineering,Data Conversion,我需要与返回字符串的服务交互。。。。但是,这是文本中字节数组的表示形式 然后我需要将这个字符串转换成字节数组,然后再转换成DateTime 更糟糕的是,我真的不知道使用了什么类型的编码……我只知道提供给我的两个示例: 准确收到的字符串:“32,6,23,8,69,80,48,36”需要给我日期时间:17.6.2020 08:45:50 准确收到的字符串:“32,6,23,8,69,87118148”需要给我日期时间:17.6.2020 17:45:57 有没有关于如何做到这一点的想法,或者至
- 准确收到的字符串:“32,6,23,8,69,80,48,36”需要给我日期时间:17.6.2020 08:45:50
- 准确收到的字符串:“32,6,23,8,69,87118148”需要给我日期时间:17.6.2020 17:45:57
byte[] bytes = { 32, 6, 23, 8, 69, 80, 48, 36 };
long longVar = BitConverter.ToInt64(bytes, 0);
DateTime dateTimeVar = new DateTime(longVar); // Result: 5/21/8264 9:36:06 AM
string t1 = Encoding.UTF8.GetString(bytes); // " \u0006\u0017\bEP0$"
string t2 = Encoding.ASCII.GetString(bytes); // " \u0006\u0017\bEP0$"
string t3 = Encoding.BigEndianUnicode.GetString(bytes); // " ᜈ䕐〤"
string t4 = Encoding.UTF32.GetString(bytes); // "��"
string t5 = Encoding.UTF7.GetString(bytes); // " \u0006\u0017\bEP0$"
string t6 = Convert.ToBase64String(bytes); // IAYXCEVQMCQ=
long longVar = BitConverter.ToInt64({ 32, 6, 23, 8, 69, 87, 118, 148 }, 0);
// This one even gives me a negative number: -7748910154844273120
#更新2:
我知道日期是从OPC服务器和其他系统之间获取的。。。。在数据到达我的服务之前发生了什么我真的不知道。。。。与此同时,我在谷歌上搜索OPC和datetime,得到了以下关于datetime的信息,也许我能得到一些澄清。你是想让我们猜一下格式吗?@Dryadwoods-数字
32,6,23,8,69,80,48,36
代表什么?它们与日期时间的关系如何?
?这里是难点,这些字节与节拍/长版本的日期时间无关,您缺少了重要的信息informaiton@Dai-.Reverse()
似乎没有帮助。我怀疑它的unix时间,它不是十六进制的,它不是滴答声,更改endian没有帮助,我放弃了