您的位置:首页 > 编程语言 > C#

C#中一些字符串汉字操作的常用用法

2006-09-16 13:40 603 查看
今日在做汇率查询时需要用到汉字判断
采用正则表达

添加using System.Text.RegularExpressions;

bool yn=Regex.IsMatch(strA,@"^[/u4e00-/u9fa5]+$");
if(yn==true)
{
j=0;
strBuss=strBuss + strA;; //含有汉字
}
else if(j==20)
{
strBuss=strBuss + strA; //不含有汉字
}

以下相关资料转自孟宪会

//获得汉字的区位码
  byte[] array = new byte[2];
  array = System.Text.Encoding.Default.GetBytes("啊");



int i1 = (short)(array[0] - ''/0'');
  int i2 = (short)(array[1] - ''/0'');

//unicode解码方式下的汉字码
  array = System.Text.Encoding.Unicode.GetBytes("啊");
  i1 = (short)(array[0] - ''/0'');
  i2 = (short)(array[1] - ''/0'');

//unicode反解码为汉字
  string str = "4a55";
  string s1 = str.Substring(0,2);
  string s2 = str.Substring(2,2);

int t1 = Convert.ToInt32(s1,16);
  int t2 = Convert.ToInt32(s2,16);

array[0] = (byte)t1;
  array[1] = (byte)t2;

string s = System.Text.Encoding.Unicode.GetString(array);

//default方式反解码为汉字
  array[0] = (byte)196;
  array[1] = (byte)207;
  s = System.Text.Encoding.Default.GetString(array);

//取字符串长度
  s = "iam方枪枪";
  int len = s.Length;//will output as 6
  byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
  len = sarr.Length;//will output as 3+3*2=9

//字符串相加
  System.Text.StringBuilder sb = new System.Text.StringBuilder("");
  sb.Append("i ");
  sb.Append("am ");
  sb.Append("方枪枪");

/////////////////////////////////////////////////////////////////////



string --> byte array

byte[] data=Syste.Text.Encoding.ASCII.GetBytes(string);

string --> byte

byte data = Convert.ToByte(string);

byte[]-->string

string string = Encoding.ASCII.GetString( bytes, 0, nBytesSize );

----------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: