灵光一现
我的Blog我做主
一、获取字符串字节长度
         private   string   getCountStr(string   str,int   count)   
        {   
              byte   []   bwrite=Encoding.GetEncoding("GB2312").GetBytes(str.ToCharArray());   
              if(bwrite.Length>=count)   
                       return   Encoding.Default.GetString(   bwrite,0,count);   
              else   return   Encoding.Default.GetString(bwrite);   
          }   
        上面的这个方法就可以获得一个字符串中相应的字节数的子串。   
    
        比如:   
        str1="中华人民共和国?"   ;   
        str2="abcdefghijklmn";   
        分别调用上述函数,   
        str1=getCountStr(str1,12);   
        str2=getCountStr(str2,12);   
        就会返回   
        str1的值为   中华人民共和   
        str2的值为   abcdefghijkl  
       注:另有BitConverter.ToString(System.Text.Encoding.Unicode.GetBytes("abc中国")).Replace("00","").Replace("-","").Length   \2 
       不同的编码,对ABC   编码不一样,比如   用Unicode,他编码的时候,每个字符都会翻译称两个byte数组,   对于中文是两个都大于0的字符,而英文则是asciii   一个,0   一个,所以"abc中国"   应该翻译成   
  97   00   98   00   99   00   xx   xx   xx   xx,   这里xx   应该都是不为0   
    
      希望统计的就是英文字符占一位,   中文占两位.   所以我把这些byte先用string   表示,然后替换掉00  
posted on 2006-12-11 17:29  高健强  阅读(390)  评论(0编辑  收藏  举报