【 tulaoshi.com - 编程语言 】
                             
                            C#中一些字符串操作的常用用法 
//获得汉字的区位码 
  byte[]array=newbyte[2]; 
  array=System.Text.Encoding.Default.GetBytes("啊"); 
inti1=(short)(array[0]-'' ''); 
  inti2=(short)(array[1]-'' ''); 
//unicode解码方式下的汉字码 
  array=System.Text.Encoding.Unicode.GetBytes("啊"); 
  i1=(short)(array[0]-'' ''); 
  i2=(short)(array[1]-'' ''); 
//unicode反解码为汉字 
  stringstr="4a55"; 
  strings1=str.Substring(0,2); 
  strings2=str.Substring(2,2); 
intt1=Convert.ToInt32(s1,16); 
  intt2=Convert.ToInt32(s2,16); 
array[0]=(byte)t1; 
  array[1]=(byte)t2; 
strings=System.Text.Encoding.Unicode.GetString(array); 
//default方式反解码为汉字 
  array[0]=(byte)196; 
  array[1]=(byte)207; 
  s=System.Text.Encoding.Default.GetString(array); 
//取字符串长度 
  s="iam方枪枪"; 
  intlen=s.Length;//willoutputas6 
  byte[]sarr=System.Text.Encoding.Default.GetBytes(s); 
  len=sarr.Length;//willoutputas3+3*2=9 
//字符串相加 
  System.Text.StringBuildersb=newSystem.Text.StringBuilder(""); 
  sb.Append("i"); 
  sb.Append("am"); 
  sb.Append("方枪枪"); 
//获取ASC码 
int ASC(String Data)  
    { 
        byte[] b = System.Text.Encoding.Default.GetBytes(Data);  
        int p=0;  
        if(b.Length==1) //如果为英文字符直接返回 
        return (int)b[0]; 
        for( int i = 0; i  b.Length; i++) 
        {  
            p = (int)b[ i ];  
            p = p * 256 + b[ i+1] - 65536; 
        } 
        return p; 
    } 
/// summary求字符串长度 
        /// 求字符串长度 
        /// /summary 
        /// param name="inputString"/param 
        /// returns/returns 
        int len(String inputString) 
        {    string s=inputString; 
          int len=s.Length;//willoutputa s6 
          byte[]sarr=System.Text.Encoding.Default.GetBytes(s); 
          len=sarr.Length;//willoutputa s3+3*2=9 
            return len; 
        } 
//检测含有中文字符串的实际长度 
str为要检测的字符串: 
ASCIIEncoding n = new ASCIIEncoding(); 
byte[] b = n.GetBytes(str); 
int l = 0; // l 为字符串之实际长度 
for (int i=0;i = b.Length-1;i++) 
{ 
if (b[i] ==63) //判断是否为汉字或全脚符号 
{ 
l++; 
} 
l++; 
} 
//载字符串修正版(yaosansi) 
        /// summary 
        /// 截字符串 
        /// /summary 
        /// param name="inputString"所要截取的字符串/param 
        /// param name="len"要载得字符串的长度/param 
        /// returns/returns 
        public static string CutString(string inputString,int len) 
        { 
            ASCIIEncoding ascii =  new ASCIIEncoding(); 
            int tempLen=0; 
            string tempString=""; 
            byte[] s = ascii.GetBytes(inputString); 
            for(int i=0;is.Length-1;i++) 
            { 
                if((int)s[i]==63) 
                { 
                    tempLen+=2; 
                } 
                else 
                { 
                    tempLen+=1; 
                } 
                try 
                { 
                    tempString+=inputString.Substring(i,1); 
                } 
                catch 
                { 
                    break; 
                } 
                if(tempLenlen) 
                    break; 
            } 
            //如果截过则加上半个省略号 
            byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString); 
            if(mybyte.Lengthlen) 
                tempString+=""; 
            return tempString; 
        } 
//截取字符串(原稿) 
public static string CutString(string inputString,int len) 
{ 
ASCIIEncoding ascii =  new ASCIIEncoding(); 
int tempLen=0; 
string tempString=""; 
byte[] s = ascii.GetBytes(inputString); 
for(int i=0;is.Length;i++) 
{ 
if((int)s[i]==63) 
{ 
tempLen+=2; 
} 
else 
{ 
tempLen+=1; 
} 
try 
{ 
tempString+=inputString.Substring(i,1); 
} 
catch 
{ 
break; 
} 
if(tempLenlen) 
break; 
} 
//如果截过则加上半个省略号 
byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString); 
if(mybyte.Lengthlen) 
tempString+="…"; 
return tempString; 
} 
//在C#中截取指定长度的中文字符串  
privatestaticstringSubString(stringstringToSub,intlength){ 
Regexregex=newRegex("[u4e00-u9fa5]+",RegexOptions.Compiled); 
char[]stringChar=stringToSub.ToCharArray(); 
StringBuildersb=newStringBuilder(); 
intnLength=0; 
for(inti=0;istringChar.Length;i++){ 
if(regex.IsMatch((stringChar[i]).ToString())){ 
sb.Append(stringChar[i]); 
nLength+=2; 
} 
else{ 
sb.Append(stringChar[i]); 
nLength=nLength+1; 
} 
if(nLengthlength) 
break; 
} 
returnsb.ToString(); 
}  
///////////////////////////////////////////////////////////////////// 
string--bytearray 
byte[]data=Syste.Text.Encoding.ASCII.GetBytes(string); 
string--byte 
bytedata=Convert.ToByte(string); 
byte[]--string 
stringstring=Encoding.ASCII.GetString(bytes,0,nBytesSize);