我的位图文本文件中的所有字符都是中文

All Characters in my Bitmap Textfile are in Chinese

所以我目前正在开发一个程序,该程序将从 .fbm 文件中提取材料。在 ASCII fbm 文件中,要提取的数据如下所示: /9j/4Sb7RXhpZgAATU0AKgAAAAgADAEAAAMAAAABEAAAAAEBAAMAAAABEAAAAAECAAMAAAADAAAAngEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEVAAMAAAABAAMAAAEaAAUAAAABAAAApAEbAAUAAAABAAAArAEoAAMAAAABAAIAAAExAAIAAAAiAAAAtAEyAAIAAAAUAAAA1odpAAQAAAABAAAA7AAAASQACAAIAAgACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpADIwMTk6MDc6MD ...

并且在 fbm 文件中有几组这些,每组都用引号和逗号分隔。现在,当我将文件中的第一个字符串转换为 jpg 时,使用以下命令:

                        //Convert ASCII data to binary
                        string asciiFileData = "";
                        StreamReader binaryDataReader = File.OpenText(Path.Combine(inputDirectory, convertedFBX + iterator.ToString() + ".txt"));
                        while (!binaryDataReader.EndOfStream)
                        {
                            var lineData = binaryDataReader.ReadLine();
                            if (String.IsNullOrEmpty(lineData)) continue;
                            asciiFileData += lineData;
                        }
                        string[] imageStrings = asciiFileData.Split(',');
                        List<byte[]> imageList = new List<byte[]>();
                        foreach (string imageString in imageStrings)
                        {
                            if(imageString.Length > 10)//A way of checking if there's actual data for the file to save
                                imageList.Add(Convert.FromBase64String(imageString.Trim().Replace(",", "").Replace("\"", "")));
                        }
                        //Save images
                        int iterator2 = 1;
                        foreach(byte[] image in imageList)
                        {
                            File.WriteAllBytes(Path.Combine(inputDirectory, convertedFBX + iterator.ToString() + iterator2++ + ".jpg"), image);
                        }

第一个字符串创建适当的材质 jpg。当我在文本文件中打开它时,它通常是奇怪的外星字符(不太肯定这些字符的名称)。但是,第一个之后的jpg无法打开。我给他们打开文本文件,全是汉字!到底为什么会这样?这是什么意思,应该是这样吗?预先感谢您的回答!

该资源在评论中被提及;但是,我的答案是在 https://devblogs.microsoft.com/oldnewthing/20140930-00/?p=43953 上找到的。从本质上讲,当您尝试将二进制内容强制为某种特定的编码时,就会发生此错误。