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 (十六进制 ...
随机推荐
- 黑马程序员——OC语言 三大特性之多态
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之一的多态 (一)多态的基本概念 OC对象具有多态性体现在 Per ...
- CsvReader,CsvWriter的使用以及解决中文乱码
public void Csv(){ try { String[] stringList; String sourceFilePath = "D:\\111\\前海自身.csv"; ...
- ArrayList与普通数组的区别
import java.util.ArrayList; public class Shuzuqubie { public static void main(String[] args){ String ...
- Ubuntu user switch
To list all users you can use: cut -d: -f1 /etc/passwd To add a new user you can use: sudo adduser n ...
- iOS求职之OC面试题
1.Objective-C的类可以多重继承么?可以采用多个协议么? 答:不可以多重继承,可以采用多个协议. 2.#import和#include的区别是什么?#import<> 跟 #im ...
- int a
系统编译之后所有的变量都存储到符号表中,并且每个表项被分配一个符号ID,一般也是数字的,可以根据该符号的ID直接访问符号的值内存中的数据都是二进制的,没有ASCII值ASCII只在为便于人的理解,对二 ...
- OD调试篇6--对一些真正的小程序进行一点点的修改
先打开这个程序看看,提醒你这是一个未注册版本的软件.会发现只能添加4个联系人,这显然是我不想看见的,于是我要对这个程序进行一些修改,嘿嘿... 通过OD载入这个程序 有一些(SEH)也就是异常,我们可 ...
- C++中 destory() 和deallocate()以及delete函数的相关性和区别性
这里非常的绕口 需要仔细的来看看: destory(): 显示调用一个对象的析构函数 相当于释放一个对象需要释放的一些动态内存 为下次真正释放对象做准备 deallocate():真正的释放一个内存 ...
- 今天<人人都能弹吉他>免费版获得了苹果的新品推荐
今天改了一天程序, 来回测来回改, 准备提交一个新版本了. 傍晚跑步回来, 看了一下今天的下载量, 竟然比昨天多了. 然后就想, 难不成被苹果推荐了? 上线一看, 果然, 而且美国和中国两大市场都在新 ...
- python中的if __name__ == '__main__' what hell is it?
python中的if __name__ == '__main__' what hell is it? python认为一切模块都可能被执行或者被import 如果一个模块是被import导入的,那么该 ...