日期:2014-05-19  浏览次数:20761 次

C#读取二进制流的问题,撒高分求助!
一个服务端为JAVA编写,客户端需要用C#编写的软件,在C#接受JAVA输出流发来的数据时,流当中有字符串,现在要把字符串读取出来,就需要进行转换,代码如下:
                /**
                  *   读入一个已使用   UTF-8   格式编码的字符串
                  *   param   BinaryReader   input
                  *   return   string
                  */
                public   string   ReadJavaUTF(BinaryReader   input)
                {
                        StringBuilder   str   =   null;
                        try
                        {
                                int   utflen   =   0;
                                utflen   =   ReadJavaUnsignedShort(input);
                                str   =   new   StringBuilder(utflen);
                                byte[]   bytearr   =   new   byte[utflen];
                                int   c,   char2,   char3;
                                int   count   =   0;

                                ReadJavaFully(input,   bytearr,   0,   utflen);

                                while   (count   <   utflen)
                                {
                                        byte   a   =   bytearr[count];
                                        c   =   (int)bytearr[count]   &   0xff;
                                        switch   (c   > >   4)
                                        {
                                                case   0:
                                &n