[CSharp]在处理流时经常要用到的函数

        /// <summary>
        
/// 判断是否为可见字符,以便正确的显示汉字和普通的ASCLL字符。
        
/// </summary>

        public static bool IsVisibleChar(byte byteItem)
        
{
            
if((byteItem >= 32 && byteItem <= 126)
                
|| (byteItem>=128 && byteItem<=254)
                
|| byteItem == '\n' || byteItem == '\r' || byteItem == '\t'
                
|| byteItem == 4 || byteItem == 8)
            
{
                
return true;
            }

            
else    
            
{
                
return false;
            }

        }


        
/// <summary>
        
/// 过滤掉不可见字符,保留正常的ASCLL字符和汉字字符。
        
/// </summary>

        public static string FilterInvisibleChar(byte[] src)
        
{
            
if(src == null || src.Length == 0 || src[0== 255)
            
{
                
return "";
            }

            
byte[] buf = new byte[src.Length];
            
int idx = 0;
            
foreach(byte b in src)
            
{
                
if(IsVisibleChar(b))                
                
{
                    buf[idx] 
= b;
                    idx
++;
                }

            }

            
if(idx > 0)
            
{
                
return Encoding.Default.GetString(buf, 0, idx);
            }

            
else
            
{
                
return "";
            }

        }

    }
原文地址:https://www.cnblogs.com/xuzhong/p/397469.html