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

C#下全半角字符之间转换

2007-11-08 17:25 239 查看
方法一:Microsoft.VisualBasic 命名空间 Strings 模块 StrConv 函数具有大写/小写、全角/半角、中文简体/繁体等转换功能,字符串转换应该说是VB.NET的强项.是这样的:VB.NET直接调StrConv函数就行了,C#版的则需要在项目中添加引用Microsoft.VisualBasic.dll, 然后就可以在C#程序中直接使用VB.NET的StrConv函数了。可以测试这段Microsoft.VisualBasic.Strings.StrConv("KOCOOBO",Microsoft.VisualBasic.VbStrConv.Narrow,1) 代码;

方法二:




/**//// 转全角的函数(SBC case)


///


/// 任意字符串


/// 全角字符串


///


///全角空格为12288,半角空格为32///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248


///


public string ToSBC(string input)




...{


//半角转全角:


char[] c=input.ToCharArray();


for (int i = 0; i < c.Length; i++)




...{


if (c[i]==32)




...{


c[i]=(char)12288;


continue;


}


if (c[i]<127)


c[i]=(char)(c[i]+65248);


}


return new string(c);


}








/**//// 转半角的函数(DBC case)


///


/// 任意字符串


/// 半角字符串


///


///全角空格为12288,半角空格为32


///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248


///


public string ToDBC(string input)




...{


char[] c=input.ToCharArray();


for (int i = 0; i < c.Length; i++)




...{


if (c[i]==12288)




...{


c[i]= (char)32;


continue;


}


if (c[i]>65280 && c[i]<65375)


c[i]=(char)(c[i]-65248);


}


return new string(c);


}





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