全角字符与半角字符的相互转换(C#)

     看到视频里有做这个例子,对着视频把代码打了一遍,测试成功,先记下来,以备后用!!!

Code
/// <summary>全角半角的相互转换
/// 
/// </summary>
public class ConvertDBCAndSBC
{
 
    /// <summary>半角转成全角
    /// 半角空格32,全角空格12288
    /// 其他字符半角33~126,其他字符全角65281~65374,相差65248
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public string DBCToSBC(string input)
    {
        char[] cc = input.ToCharArray();
        for(int i=0;i<cc.Length;i++)
        {
            if(cc[i] == 32)
            {
                // 表示空格
                cc[i]=(char)12288;
                continue;
            }
            if(cc[i] < 127 && cc[i] > 32)
            {
                cc[i]=(char)(cc[i]+65248);                
            }
        }
        return new string(cc);
    }

    /// <summary>全角转半角
    /// 半角空格32,全角空格12288
    /// 其他字符半角33~126,其他字符全角65281~65374,相差65248
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public string SBCToDBC(string input)
    {
        char[] cc = input.ToCharArray();
        for (int i = 0; i < cc.Length; i++)
        {
            if(cc[i] == 12288)
            {
                // 表示空格
                cc[i] = (char)32;
                continue;
            }
            if (cc[i] > 65280 && cc[i] < 65375)
            {
                cc[i] = (char)(cc[i] - 65248);                
            }

        }
        return new string(cc);
    }
}

 

测试代码:

        static void Main(string[] args)
        {
            Console.Write("请输入要转为半角的字符:");
            string str = Console.ReadLine();
            Console.WriteLine("半角:" + new ConvertDBCAndSBC().SBCToDBC(str));
            Console.ReadLine();

            Console.Write("请输入要转为全角的字符:");
            string str2 = Console.ReadLine();
            Console.WriteLine("全角:" + new ConvertDBCAndSBC().DBCToSBC(str2));
            Console.ReadLine();
        }

 

测试效果:

 

时间: 2024-10-14 07:59:37

全角字符与半角字符的相互转换(C#)的相关文章

word教你批量转换全角字符为半角字符

  word使用技巧:教你批量转换全角字符为半角字符 1.首先全选; 2.然后"格式"→"更改大小写";   3.在对话框中先选中"半角",确定即可.

又一个字符串,由全角字符,半角字符构成,如何截取该字符串,全角算两个字符

问题描述 又一个字符串,由全角字符,半角字符构成,如何截取该字符串,全角算两个字符 解决方案 解决方案二:看看这个是你要的吗?///<summary>///取中文字串///</summary>///<paramname="content">内容</param>///<paramname="length">长度</param>///<returns></returns>pr

使用Python转换全角字符串为半角

关于全角转换为半角的问题,其实源自在公司的运营人员在输入法切换的时候选择了全角,结果导致程序有时候没有办法进行解析. 为了避免这样的问题再次出现,于是就有了将全角转换为半角的问题了. 在这里,会对以下内容进行描述: 什么是全角 如何将全角字符转换为半角 使用python实现上述转换操作 我们知道在编码中,存储在计算机中仅仅是1个数字,而编码其实充当的是1种转换的过程,如果将1个字符转换为1个数字而问题. 全角和半角 一般情况下,普通的英文字符只占用1个字节的空间,而1个字节有8位,因此可以存储2

用自定义函数替换SQL中的全角数字为半角数字

函数 在我们使用MSSQL的时候,有时表中有一些是全角的数字,但我们的系统不能够正确的使用它们,这时我们要把他们替换为半角数字.而SQL自己好像没有这个函数. 没有,我们自己动手: 下面就是我自己写的一个函数,当然,我的数据量小,没有考虑性能! --  把全角数据转换成半角数字(注意,这个只能转换全是全角的,在第一个半角数据时返回)--  公司:石家庄创联科技--  编写:牛昆亮  QQ:273352165 create function  ufn_convertWideNumericToAns

把全角数字转为半角数字

 //把全角数字转为半角数字  <?  function GetAlabNum($fnum){  $nums = array("0","1","2","3","4","5","6","7","8","9"); //OSPHP.com.CN $fnums = "0123456789";

C# 转换全角数字为半角数字

  C#全角半角转换,这里的对象是数字,因为全角数字和半角数字显示的样式是不一样的,而且在内存中所占字节也是不同的,为了更标准些,我们可以通过下面的函数转换用户输入中的全角数字,挺方便: view sourceprint?01/// 02/// 将全角数字转换为数字 03///</summary> 04///<param name="SBCCase"></param> 05///<returns></returns> 06pu

100分,.net 中如何实现遍历excel中所有sheet,把全角转成半角?

问题描述 100分,.net中如何实现遍历excel中所有sheet,把全角转成半角? 解决方案 解决方案二:操作excel的一些函数,你也许用的到ImportsSystemImportsSystem.DataImportsSystem.ConfigurationImportsSystem.WebNamespaceExcelEditPublicClassExcelEditPublicmFilenameAsStringPublicappAsExcel.ApplicationPublicwbsAsE

c# winform 全角自动转化半角问题

问题描述 如题:c#winform全角自动转化半角问题这个问题我在网上找了些资料,开发工具是VS2008.网站上说,在窗体加载load(){}里添加this.ImeMode=ImeMode.OnHalf;不知道这个方法可不可行.各位大侠有木有已经处理过这样的问题的解决方案呢????求解!!! 解决方案 解决方案二:貌似你说的不行解决方案三:各位大侠求解..解决方案四:要写方法呢,可以再load事件里调用.解决方案五:.net2.0里的BUG,貌似3.5没有这个BUG

PHP把全角数字转为半角数字以及去除HTML标

//把全角数字转为半角数字 <? function GetAlabNum($fnum){         $nums = array("0","1","2","3","4","5","6","7","8","9");         $fnums = "0123456789";