为什么 StreamWriter 写的是十字和汉字?

Why is StreamWriter writing crosses and Chinese characters?

我有一个将像素艺术图像转换为字符串的小脚本,使用 'X' 表示不透明像素,使用 ' ' 表示透明像素,并在每行后使用 '\n'。然后我想把这个字符串写入一个文本文件,这看起来很简单。

    [SerializeField] Sprite sprite;
    [SerializeField] string newFileName;
    private string textFilesFolderLocation = //A location on my computer.
    private string fileExtension = ".txt";

    public void CreateTextDocument() {
        string ascii = CreateAscii();
        
        string path = textFilesFolderLocation + @"\" + newFileName + fileExtension;
        if (File.Exists(path)) {
            File.Delete(path);
        }

        using (StreamWriter streamWriter = new StreamWriter(path)) {
            streamWriter.Write(ascii);
        }
    }
private string CreateAscii() {
        StringBuilder stringBuilder = new StringBuilder();
        Texture2D pixels = sprite.texture;
        for (int y = pixels.height - 1; y >= 0; y--) {
            for (int x = 0; x < pixels.width; x++) {
                Color pixel = pixels.GetPixel(x, y);
                if (pixel.a > 0) {
                    stringBuilder.Append("x");
                }
                else {
                    stringBuilder.Append(" ");
                }
            }
            stringBuilder.Append('\n');
        }

        return stringBuilder.ToString();
    }

这对我约 90% 的图像都按预期工作,但有一些在他们的文本文件中写入了一些看似奇怪的字符!以下内容的变体:

"...††††††††††††††††††††††††††††††††††††††††††††††††††
††††††††††††††††††††††††††††††††††††††††††††††††砠†
⁸††††††††砠†硸††††††††††††††††††††††††††††††砠†††††
††††砠†††††砠砠††††††††††††††††††††††††††††⁸††††††††
††††††††††††..." (the full text is around 50,000 characters long)

经过调查,我可以确认 CreateAscii() 工作正常。将字符串打印到控制台显示它由 'x' 和 ' ' 组成,正如预期的那样。

我发现尝试编写像“Hello World”这样的简单消息可以正常工作,并且编写一小段 ascii 字符串也可以。但是对于少数有问题的图像,尝试写入整个字符串会导致“...†断†石†††...”。

即使我尝试像

这样按顺序写小块
for (int i = 0; i < ascii.Length; i++) {
            using (StreamWriter streamWriter = new StreamWriter(path, append: true)) {
                streamWriter.Write(ascii[i]);
            }
        }

我的文本文件中仍然只有“...†断†石†††...”。

有人知道会发生什么吗?

感谢评论中的有用回复,我了解到记事本无法正确显示我的文件。使用不同的查看器打开 .txt 文件使我能够正确查看文本。

我仍然不知道根本问题是什么,但这对我来说已经足够了!