StreamReader sr = new StreamReader(fs,System.Text.Encoding.GetEncoding("gb2312"));
string text;
text = sr.ReadToEnd();
byte[] bytes  = Encoding.GetEncoding("gb2312").GetBytes(text);我已将一篇中文文档转换为字节流,下面我要依次读取其中的每个字节,判断它是否是汉字,如果不是,它是否是符号“/”,请问我如何实现这个功能,谢谢!

解决方案 »

  1.   

    一个汉字由两个字节表示,但是如果用gb2312编码,读出汉字两个字节中的一个字节,然后和某个值比较,就应该知道它是不是汉字,如果是,则读入第二个字节,如果不是,则只解码此字节,它可能是英文字母、符号等等,然后读入下一个字节,但是,我不是知道这个比较值应该是多少。
    还有如何读出连个字节,然后把它们解码为一个汉字,放到byte[]中吗,可是用什么函数解码。
    请告知一二,谢谢
      

  2.   

    System.IO.StreamReader sr = new System.IO.StreamReader(fs);
    string strText;
    strText = sr.ReadToEnd();
    foreach (char c in strText)
    {
        if (System.Text.Encoding.Default.GetByteCount(c.ToString()) == 2)
        {
            //双字节,一般为汉字
        }
        else if (c == '/')
        {
            //
        }
    }