全角半角转换

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

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

        [TestMethod]
        public void DBCTEST()
        {
            string strSBC = "中华1259test";
            string result = ToDBC(strSBC);
            Console.WriteLine(result);
            Assert.AreEqual(result,"中华1259test");
        }
时间: 2024-12-10 09:47:01

全角半角转换的相关文章

php字符串处理之全角半角转换

半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路. 一.概念 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)空格比较特殊,全角为 12288(0x3000),半角为 32 (0x20)而且除空格外,全角/半角按unicode编码排序在顺序上是对应的所以可以直接通过用+-法来处理非空格数据,对空格单独处理 二.实现思路 1. 找到目标unicode的字符,可

SQL 全角半角转换-(摘抄)

/****** SQL转换全角/半角函数 开始******/ CREATE FUNCTION ConvertWordAngle ( @str NVARCHAR(4000), --要转换的字符串 @flag bit --转换标志,0转换成半角,1转换成全角 )RETURNS nvarchar(4000) AS BEGIN DECLARE @pat nvarchar(8),@step int,@i int,@spc int IF @flag=0 SELECT @pat=N'%[!--]%',@ste

关于全角半角转换(转)

见谅未能注明出处: 1 第一种方法: 2 /** 3 * 特殊字符串转换 4 * @Class Name FullCharConverter 5 * @Author v-jiangwei 6 * @Create In 2012-8-24 7 */ 8 public class FullCharConverter { 9 10 /** 11 * 全角转半角的 转换函数 12 * @Methods Name full2HalfChange 13 * @Create In 2012-8-24 By v

C#全角半角转换输出解决方法

Microsoft.VisualBasic 命名空间 Strings 模块 StrConv 函数就具有大写/小写.全角/半角.中文简体/繁体等转换功能,字符串转换应该说是VB.NET的强项,是这样的:VB.NET直接调StrConv函数就行了,C#版的则需要在项目中添加引用Microsoft.VisualBasic.dll, 然后就可以在C#程序中直接使用VB.NET的StrConv函数了. 在C#项目中添加引用Microsoft.VisualBasic.dll, 可以在C#程序中直接使用VB.

php 全角半角转换

<?phpheader("Content-type: text/html; charset=utf-8");// 第一个参数:传入要转换的字符串// 第二个参数:取0,半角转全角:取1,全角到半角function SBC_DBC($str, $args2) { $DBC = Array( '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , '

全角半角转换函数

--(此函数部分思路参考了CSDN上大力的转换函数) --邹建2005.01(引用请保留此信息)--*/ Go --创建函数 create function SBC2DBC ( @str nvarchar(4000), --要转换的字符串 @flag bit --转换标志,0转换成半角,1转换成全角 ) returns nvarchar(4000) as begin declare @pat nvarchar(8),@step int,@i int,@spc int if @flag=0 sel

JavaScript数字全角半角转换

</pre><pre name="code" class="javascript">///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 //半角转换为全角函数 function ToDBC(txtstring) { var tmp = ""; for(var i=0;i<txtstring.length;i++) { if(tx

java 字符创全角半角转换

/** * 半角转全角 * @param input 输入字符串参数 * @return 全角字符串. */ public static String convert2DoubleByte(String input) {    char c[] = input.toCharArray();    for(int i = 0; i < c.length; i++) {      if (c[i] == ' ')  c[i] = '\u3000';         else if (c[i] < 

Centos下输入法全角半角转换

写个文档 ,发现输入法的设置框没有了,打出来的字全是全角,找了半天终于发现在设置的快捷键. 废话少说,Centos的全角半角转换快捷键是shift+space. 中英文标点的转换快捷键 ctrl+.