各位晚上好。出现了以下问题:
假设我有一个文件,我想从中读取 128 个字节并将它们传输到string使用Encoding. 但同时,这128个字节中只占用了32个字节
,使用类后的字符串变量Encoding可能是这个样子:(firstdsda假设是32个字节),然后一切都是这个样子0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(假设剩下的那96个,即,空字节)。
如果使用显示此变量,Messagebox.show(Это строка);则文本位于开头,然后是空字节,但它们是不可见的。
那么在输出\显示\之类的时候,如何截掉剩余的空字节呢?
尝试
(
s是您的字符串派生自Encoding.GetString)。在我看来,这比从字节数组中删除尾随零更好,因为它们在您的编码中可能很重要。
您需要知道写入字符串的编码,因此 Encoding.UTF8 可能会有所不同:
对于大文件还有一个替代方案: