C# 打印以NULL结尾的字符串(PCL 5)

C# 打印以NULL结尾的字符串(PCL 5),c#,winforms,null,C#,Winforms,Null,我有一个PCL 5打印命令语言文件,我正在将其读入文本框,然后将文本框的内容发送到PCL 5打印机。到目前为止,这一直很有效,但是如果PCL5文件包含光栅数据,它将始终包含空值。当我将包含空字符的字符串读入文本框时,该字符串终止。因此,我最终向打印机发送了一个不完整的PCL文件,它会打印垃圾打印 public static class BinaryFile { private static string[] __byteLookup = new string[25

我有一个PCL 5打印命令语言文件,我正在将其读入文本框,然后将文本框的内容发送到PCL 5打印机。到目前为止,这一直很有效,但是如果PCL5文件包含光栅数据,它将始终包含空值。当我将包含空字符的字符串读入文本框时,该字符串终止。因此,我最终向打印机发送了一个不完整的PCL文件,它会打印垃圾打印

    public static class BinaryFile
    {
        private static string[] __byteLookup = new string[256];

        static BinaryFile()
        {
            //CHARACTERS: All Control ASCII Characters
            for (int i = 0x00; i < 0x20; i++) { __byteLookup[i] = ((char)i).ToString(); }

            // Display printable ASCII characters
            for (int i = 0x21; i < 0x7F; i++) { __byteLookup[i] = ((char)i).ToString(); }

            __byteLookup[0] = "\x00";
        }
我已尝试将_byteLookup[0]更改为文字,使其读取@\x00或@\0,但这会导致打印机无法读取数据。打印机会逐字打印出\0或\x00。我需要在不终止字符串的情况下以某种方式保持空值,以便打印机能够正确解释数据。这可能吗


为什么需要使用文本框?您不能直接将原始数据传递给打印机吗?有时我需要对文件进行一些小的修改,然后打印出来,看看我所做的更改是否纠正了问题。您需要确定要打印哪个字符来代替空字符。老实说,我可能会考虑另一种解决方案,例如写入文件并在Notepad++中打开,然后在继续之前检测Notepad++何时关闭/保存文件