全角半角互转

1.

///  <summary>
///  转全角的函数(SBC case)
///  </summary>
///  <param name="input"> 任意字符串 </param>
///  <returns> 全角字符串 </returns>
/// <remarks>
/// 全角空格为12288,半角空格为32
/// 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
/// </remarks>         
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);
}


/**/
///  <summary>
///  转半角的函数(DBC case)
///  </summary>
///  <param name="input"> 任意字符串 </param>
///  <returns> 半角字符串 </returns>
/// <remarks>
/// 全角空格为12288,半角空格为32
/// 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
/// </remarks>
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);
}



2.使用Microsoft.VisualBasic类库
在C#项目中添加引用Microsoft.VisualBasic.dll, 可以在C#程序中直接使用VB.NET中丰富的函数  1// 命令行编译 : csc /r:Microsoft.VisualBasic.dll Test.cs

//  如果是用 Visual Studio .NET IDE, 请按以下方法为项目添加引用:
//  打开[解决方案资源管理器], 右击项目名称, 选择[添加引用],
//  从列表中选择 Microsoft Visual Basic .NET Runtime 组件.

using  Microsoft.VisualBasic;

class  Test
{
  
static  void  Main()
  {
    
string  s  =  " 博客园-空军 [skyIV.cnBlogs.com] " ;
    System.Console.WriteLine(s);
    s 
=  Strings.StrConv(s, VbStrConv.Wide              ,  0 );  //  半角转全角
    s  =  Strings.StrConv(s, VbStrConv.TraditionalChinese,  0 );  //  简体转繁体
    System.Console.WriteLine(s);
    s 
=  Strings.StrConv(s, VbStrConv.ProperCase        ,  0 );  //  首字母大写
    s  =  Strings.StrConv(s, VbStrConv.Narrow            ,  0 );  //  全角转半角
    s  =  Strings.StrConv(s, VbStrConv.SimplifiedChinese ,  0 );  //  繁体转简体
    System.Console.WriteLine(s);
  }
}

你可能感兴趣的:(全角)