问题 如何在maskedTextBox上写非ASCII字符?

神剑

新成员
已加入
2020年12月2日
留言内容
1
编程经验
1-3
我正在使用TripleDESCryptoService,并且将加密的文本保留在byte []中。我想在文本框上显示它。所以我为maskedTextBox选择AsciiOnly = False。现在,我复制一个非ASCII字符并将其粘贴到maskedTextBox上,没有问题。但是,当我在代码中执行此操作时,它会失败。

示例文本及其显示内容:

z9z –4àO $&ê\±"
��9z�4�O$&�\�"

如果不是ASCII字符,则会显示一个问号。但是正如我所说,如果我手动将其复制并粘贴到maskedTextBox中,它将按原样显示所有字符。

这是我已经尝试过的:

maskedTextBox1.Text = Encoding.UTF8.GetString(bytes);

maskedTextBox1.Text = Convert.ToBase64String(bytes);
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
问题出在字节上,要么不是UTF8编码的字节,要么是转换时出错。该字符串的UTF8编码字节数据将从Encoding.UTF8.GetString中正确显示。
 
最佳 底部