如何解决我如何知道以 base64 字符串加密的文件类型
我有一个base64解码器的任务。如您所知,base64 不包含有关源文件名的任何信息,但前 5 个符号确实包含有关文件类型的信息。我已经有一个从 base64 字符串返回类型的函数。在这里。
string GetFileTypeByBase64(string base64)
{
var data = base64.Substring(0,5);
switch (data.ToUpper())
{
case "IVBOR":
return ".png";
case "/9J/4":
return ".jpg";
case "AAAAI":
return ".mp4";
case "JVBER":
return ".pdf";
case "AAABA":
return ".ico";
case "UMFYI":
return ".rar";
case "E1XYD":
return ".rtf";
case "U1PKC":
return ".txt";
case "MQOWM":
case "77U/M":
return ".srt";
default:
return "." + data;
}
}
这是我的问题:我怎么知道我在 base64 字符串中的文件是 mp3 还是 wav? (如果您提供其他文件类型的签名也将不胜感激)
解决方法
关于您的 switch 语句,WAV 文件的字符串将是“UklGR”,而 MP3 文件的字符串将是“SUQzB”。
这些字符串是文件本身的字节,所以这个字符串本质上是文件头的第一部分。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。