检测无效的字符

时间:2017-01-03 13:26:32

标签: c# char binaryreader argumentexception

当使用BinaryReader从二进制文件中读取字符时,我经常会遇到格式不正确的数据,这些数据无法作为字符读取。我得到ArgumentException抛出。

有没有办法让我预测下一个字符何时会抛出异常,而不是试图读取它(这将引发异常)以便能够在没有昂贵操作的情况下处理它?<​​/ p>

BinaryReader.ReadChar();

哪些输入会导致ArgumentException被抛出?

1 个答案:

答案 0 :(得分:0)

啊,刚刚想通了:

char next = (char)reader.ReadByte();

if (Char.IsSurrogate(next)) {
    return "Non-valid char value";
}

随意发布更好的解决方案。