我如何知道以 base64 字符串加密的文件类型

How do I know file type encrypted in base64 string

我有一个base64解码器的任务。如您所知,base64 不包含有关源文件名的任何信息,但前 5 个符号确实包含有关文件类型的信息。我已经有一个 returns 从 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”。

这些字符串是文件本身的字节,因此这个字符串实际上是文件头的第一部分。