我能否知道字符串到ANSI转换是否会导致数据丢失?

时间:2011-11-16 09:54:18

标签: c# asp.net ansi

比方说,当我使用单字节编码将字符串转换为字节数组时,某些字符将替换为“?”:

string strData="©";
byte[] bytesData = Encoding.ASCII.GetBytes(strData);

如果将字符串转换为ANSI,有没有办法找出字符串是否会丢失部分数据?

PS。我不是在询问Unicode编码的好处,例如UTF-8。

2 个答案:

答案 0 :(得分:6)

怎么样?

Encoding.ASCII.GetString(Encoding.ASCII.GetBytes(strData)) == strData;

答案 1 :(得分:3)

如果您实例化自己的Encoder,则可以指定EncoderFallback,其中一个预定义的此类对象为EncoderFallback.ExceptionFallback,其中包含:{/ p>

  

在无法编码输入字符时抛出异常