C#全角、半角转换
全角:指一个字符占用两个标准字符位置;半角:指一字符占用一个标准的字符位置。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ExtensionMethodsDemo
{
static class Program
{
static void Main(string[] args)
{
string input = "深圳狐狼,你是好人!".ToSBC();
string input2 = "chenyuming,you are a good man!".ToDBC();
Console.WriteLine(input);
Console.WriteLine(input2);
}
/// <summary>
/// 转化为半角字符串(扩展方法)
/// </summary>
/// <param name="input">要转化的字符串</param>
/// <returns>半角字符串</returns>
public static string ToSBC(this string input)//single byte charactor
{
char[] c = input.ToCharArray();
; i < c.Length; i++)
{
)//全角空格为12288,半角空格为32
{
c[i] = (;
continue;
}
&& c[i] < )//其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
c[i] = ();
}
return new string(c);
}
/// <summary>
/// 转化为全角字符串(扩展方法)
/// </summary>
/// <param name="input">要转化的字符串</param>
/// <returns>全角字符串</returns>
public static string ToDBC(this string input)//double byte charactor
{
char[] c = input.ToCharArray();
; i < c.Length; i++)
{
)
{
c[i] = (;
continue;
}
)
c[i] = ();
}
return new string(c);
}
}
}
因为扩展方法必须在静态类下定义,所以最好写成下面形式:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ExtensionMethodsDemo
{
class Program //此类可不为静态类
{
static void Main(string[] args)
{
string input = ExtensionMethods.ToSBC("深圳狐狼,你是好人!");
string input2 = ExtensionMethods.ToDBC("chenyuming,you are a good man!");
Console.WriteLine(input);
Console.WriteLine(input2);
}
}
static class ExtensionMethods
{
/// <summary>
/// 转化为半角字符串
/// </summary>
/// <param name="input">要转化的字符串</param>
/// <returns>半角字符串</returns>
public static string ToSBC(this string input)//single byte charactor
{
char[] c = input.ToCharArray();
; i < c.Length; i++)
{
)//全角空格为12288,半角空格为32
{
c[i] = (;
continue;
}
&& c[i] < )//其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
c[i] = ();
}
return new string(c);
}
/// <summary>
/// 转化为全角字符串
/// </summary>
/// <param name="input">要转化的字符串</param>
/// <returns>全角字符串</returns>
public static string ToDBC(this string input)//double byte charactor
{
char[] c = input.ToCharArray();
; i < c.Length; i++)
{
)
{
c[i] = (;
continue;
}
)
c[i] = ();
}
return new string(c);
}
}
}
运行结果:

C#全角、半角转换的更多相关文章
- C#全角半角转换函数
Code#region 全角半角转换 /// <summary> /// 转全角的函数(SBC case) /// </summary> /// <param name= ...
- php字符串处理之全角半角转换
半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路. 一.概念 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)半角字符unicode编码 ...
- C#全角半角转换输出解决方法
Microsoft.VisualBasic 命名空间 Strings 模块 StrConv 函数就具有大写/小写.全角/半角.中文简体/繁体等转换功能,字符串转换应该说是VB.NET的强项,是这样的: ...
- SQL 全角半角转换-(摘抄)
/****** SQL转换全角/半角函数 开始******/ CREATE FUNCTION ConvertWordAngle ( @str NVARCHAR(4000), --要转换的字符串 @fl ...
- php 全角半角转换
<?phpheader("Content-type: text/html; charset=utf-8");// 第一个参数:传入要转换的字符串// 第二个参数:取0,半角转 ...
- java 全角半角转换函数
/** * 半角转全角 * @param input String. * @return 全角字符串. */ public static String ToSBC(String input) { ch ...
- PHP全角半角转换函数
之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧 /** * 全角字符转换为半角 * * @para ...
- 【python】 全角半角转换
以输入为GB18030编码字符串为例: #把全角字符串转半角 def tobanjiao(string): ustring = string.decode('GB18030') rstring = & ...
- 提供对字符串的全角->半角,半角->全角转换
package com.opslab.util.algorithmImpl; import com.opslab.util.StringUtil; /** * 提供对字符串的全角->半角,半角- ...
- python实现全角半角的相互转换
缘起 在自然语言处理过程中,全角.半角的的不一致会导致信息抽取不一致,因此需要统一. 转换说明 全角半角转换说明 有规律(不含空格): 全角字符unicode编码从65281~65374 (十六进制 ...
随机推荐
- c#基础知识-2
1.在控制台接受数据时可以这样输入: using System; using System.Collections.Generic; using System.Linq; using System.T ...
- Markov Random Fields
We have seen that directed graphical models specify a factorization of the joint distribution over a ...
- asp.net生成缩略图
/// <summary> /// 生成缩略图 /// </summary> /// <param name="orginalImagePat"> ...
- wordpress的备份与还原
在目录下创建一个文件来备份sql mysqldump -uroot -p '数据库名称'> 到 目录下创建的备份文件 然后输入密码 OK. 还原wordpress mysqldump -uro ...
- 搭建Android工程的步骤及其第一个安卓程序
1.安卓系统架构 1>底层是Linux系统 2>函数库层 由C或C++写的 3>Application frameWork应用的框架层 4>顶层是应用层 2.JVM与DVM介绍 ...
- 在线生成CSS样式和兼容的字体格式
http://www.fontsquirrel.com/tools/webfont-generator 在线生成CSS样式和兼容的字体格式.
- (实用篇)php数组查找函数in_array()、array_search()、array_key_exists()使用
php在数组中查找指定值是否存在的方法有很多,记得很久以前我一直都是傻傻的用foreach循环来查找的,下面我主要分享一下用php内置的三个数组函数来查找指定值是否存在于数组中,这三个数组分别是 in ...
- 加载json文件没显示图片
IOS 9新特性要求App内访问的网络必须使用HTTPS协议. 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全.现在也不能马上改成HTTPS协议传输. 以下解决办法: 在info ...
- 关于Mac下的SSH客户端iterm2等配置
linux后台开发的同学们晓得,在windows下有xshell\securecrt这样优秀的ssh客户端软件.mac下查找了下,有securecrt mac版,网上也有破解的,试用了一段时间,一个问 ...
- Asm.Def点大兵
syzoj上的题,收货很多,orz天天学长 原题: Asm.Def奉命组建一支m人的特种作战小队前往圣迭戈.他有n名候选人,可以在其中任意挑选.由于小队中每个人都有独特的作用,所以次序不同的两种选法被 ...