如何确定需要的 UUDecoding 方法?

Posted

技术标签:

【中文标题】如何确定需要的 UUDecoding 方法?【英文标题】:How to determine UUDecoding method needed? 【发布时间】:2019-07-14 06:30:34 【问题描述】:

我正在与返回 uuencoded 数据的设备通信:

ASCII: EZQAEgETAhMQIBwIAUkAAABj

十六进制: 45-5A-51-41-45-67-45-54-41-68-4D-51-49-42-77-49-41-55-6B- 41-41-41-42-6A

此设备的文档说明上述内容已被 uuencoded,但我不知道如何对其进行解码。最终结果不是人类可读的字符串,但第一个字节显示了以下产品数据的字节数。 (应该是 23 还是 24?)

我尝试使用 Crypt2 对其进行解码;它似乎与 644、666、744 模式不匹配。

我试着按照 Wiki 手写出来:https://en.wikipedia.org/wiki/Uuencoding#Formatting_mechanism

没有意义!如何解码这个 uuencoded 数据?

【问题讨论】:

我会说它绝对不是 UUEncoded。 UUEncoded 数据仅使用大写字母。你的有小写字母,所以它不是 UUEncoded。也许它是 BASE64 编码的? 【参考方案1】:

正如@HansKilian 在 cmets 中所说,这不是 uuencoded。

如果你对它进行 base64 解码,你会得到(十六进制):

11 94 00 12 01 13 02 13 10 20 1c 08 01 49 00 00 00 63

第一个数字,十进制的 17,与后面的字节数相同,匹配:

最终结果不是人类可读的字符串,但第一个字节显示了以下产品数据的字节数。

(@HansKilian 最初调用它是 base64 编码的。这个答案通过查看第一个解码字节来确认,但请接受他的答案)

【讨论】:

我已经通过并手动检查了它..它绝对是base64编码而不是uuencoded!开发人员和他们的文档;)——你们是传奇!谢谢你:)【参考方案2】:

我同意@canton7 的观点,它看起来像是 base64 编码的。你可以这样解码

byte[] decoded = Convert.FromBase64String("EZQAEgETAhMQIBwIAUkAAABj");

如果你愿意,你可以像这样打印十六进制值

Console.WriteLine(BitConverter.ToString(decoded));

打印出来的

11-94-00-12-01-13-02-13-10-20-1C-08-01-49-00-00-00-63

【讨论】:

@canton7 不错。我不知道那个。谢谢! 我已经通过并手动检查了它..它绝对是base64编码而不是uuencoded!开发人员和他们的文档;)——你们是传奇!谢谢你:)

以上是关于如何确定需要的 UUDecoding 方法?的主要内容,如果未能解决你的问题,请参考以下文章

visual studio 加入zen-codding

如何使用 OpenCV 在 COD 中搜索玩家模型

如何在黑莓手机中测试黑莓应用程序

污水cod测定仪让检测变得简单智能

Wordpress COD 选项禁用,直到输入城市

如何制作我的程序的 JAVADOC?