C# 全角和半角转换以及判断的简单代码

 更新时间:2013年07月10日 11:13:18   作者:  
这篇文章介绍了在C#中判断和转换全角半角的方法,有需要的朋友可以参考一下
1. 判断是否为全角半角
 全角占用二个字节 半角占用一个字节 用string.length 和System.text.Encoding.Default.GetByteCount 其中string.length表示字符串的字符数,
System.text.Encoding.Default.GetByteCount表示字符串的字节数。
判断半角(是半角则true)
如下:
复制代码 代码如下:

if (checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
  
全角(是全角则返回true)
如下:
复制代码 代码如下:

if (2 * checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
 
2.全角半角转换
复制代码 代码如下:

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

相关文章

  • Chrome Visual Studio 2005下的编译过程

    Chrome Visual Studio 2005下的编译过程

    研究Chrome ,首先得把它编译出来,这对于后续的代码分析和阅读有很大的帮助,想想自己编译出一个 Chrome 浏览器来使用,那是一件很炫的事情。
    2009-07-07
  • C#定义并实现单链表实例解析

    C#定义并实现单链表实例解析

    这篇文章主要介绍了C#定义并实现单链表实例解析,有助于读者加深对C#实现数据结构的理解,需要的朋友可以参考下
    2014-07-07
  • C#中DateTime.Compare()比较时间大小

    C#中DateTime.Compare()比较时间大小

    本文主要介绍了C#中DateTime.Compare()比较时间大小,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 在WPF中合并两个ObservableCollection集合

    在WPF中合并两个ObservableCollection集合

    这篇文章介绍了在WPF中合并两个ObservableCollection集合的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 基于Kubernetes实现前后端应用的金丝雀发布(两种方案)

    基于Kubernetes实现前后端应用的金丝雀发布(两种方案)

    这篇文章主要介绍了基于Kubernetes实现前后端应用的金丝雀发布,文中给大家提到了两种常用方案,通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • C#中简单的装箱操作实例分析

    C#中简单的装箱操作实例分析

    这篇文章主要介绍了C#中简单的装箱操作,实例分析了C#中装箱操作的概念、用法与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C# 汉字与拼音互转的实现示例

    C# 汉字与拼音互转的实现示例

    本文主要介绍了C# 汉字与拼音互转的实现示例,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C#二分查找算法

    C#二分查找算法

    这篇文章介绍了C#中的二分查找算法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#三种方法获取文件的Content-Type(MIME Type)

    C#三种方法获取文件的Content-Type(MIME Type)

    这篇文章介绍了C#获取文件Content-Type(MIME Type)的三种方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • C++泛型编程Generic Programming的使用

    C++泛型编程Generic Programming的使用

    本文主要介绍了C++泛型编程Generic Programming的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论