比方说,当我使用单字节编码将字符串转换为字节数组时,某些字符将替换为“?”:
string strData="©";
byte[] bytesData = Encoding.ASCII.GetBytes(strData);
如果将字符串转换为ANSI,有没有办法找出字符串是否会丢失部分数据?
PS。我不是在询问Unicode编码的好处,例如UTF-8。
答案 0 :(得分:6)
怎么样?
Encoding.ASCII.GetString(Encoding.ASCII.GetBytes(strData)) == strData;
答案 1 :(得分:3)
如果您实例化自己的Encoder
,则可以指定EncoderFallback
,其中一个预定义的此类对象为EncoderFallback.ExceptionFallback
,其中包含:{/ p>
在无法编码输入字符时抛出异常