zoukankan      html  css  js  c++  java
  • 全角转半角,半角转全角,判断字符是否为全角

    /// <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);
                }


                
    string str = c.ToString().Replace(""".");
                
    return new string(c);
            }


            
    /// <summary>
            
    /// 判断字符是否为全角字符
            
    /// </summary>
            
    /// <param name="c">任意字符</param>
            
    /// <returns>全角字符返回true,半角返回false</returns>
            public bool isCharDBC(char c)
            {
                
    if (c > 65280 && c < 65375)
                    
    return true;
                
    else
                    
    return false;
            }


            
    /// <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);
            }
    作者:观海看云个人开发历程知识库 - 博客园
    出处:http://www.cnblogs.com/zhangtao/
    文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    谈谈.Net中的协变和逆变(转)
    如何转移 mysql 数据库,更换服务器之后mysql如何还原
    华盾服务器管理专家,WEB后台密码忘记了,恢复默认初始密码
    合理设置应用程序池 保证网站合理运行
    2012年4月QQ企业邮箱收费后最新版图文教程开通QQ企业邮箱
    word的加密
    在IE下FLASH背景透明而在FF下不透明的解决方法
    当重装数系统/数据库之后,如何恢复数据库的账号 登录名/用户名 孤立用户 缩小ldf日志文件 修改sqlserver2000端口
    ISAPI_Rewrite的安装配置以及加载未知的原因/和无法使用的原因
    网站建设的功能模块说明
  • 原文地址:https://www.cnblogs.com/zhangtao/p/1559861.html
Copyright © 2011-2022 走看看