半角、全角转换

using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { public class SBCcaseAndDBCcase { #region "常量" /*最大的有效全角英文字符转换成int型数据的值*/ private const int MaxSBCcaseToInt = 65374; /*最小的有效全角英文字符转换成int型数据的值*/ private const int MinSBCcaseToInt = 65281; /*最大的有效半角英文字符转换成int型数据的值*/ private const int MaxDBCcaseToInt = 126; /*最小的有效半角英文字符转换成int型数据的值*/ private const int MinDBCcaseToInt = 33; /*对应的全角和半角的差*/ private const int Margin = 65248; #endregion #region "全角转换为半角" #region "全角转换为半角 public static string ConvertSBCcaseToDBCcase(string originalStr,int start,int end)" /// /// 时间:2007-10-30 /// 功能:全角转换为半角 /// version: 1.0 /// /// 要进行全角到半角转换的字符串 /// 要进行全角到半角转换的开始位置,不能大于end /// 要进行全角到半角转换的结束位置,不能小于start /// 转换成对应半角的字符串 public static string ConvertSBCcaseToDBCcase(string originalStr,int start,int end) { #region "异常判断" if (start < 0 || end < 0) { throw new Exception("开始位置或结束位置不能小于零"); } if (start > end) { throw new Exception("开始位置不能大于结束位置"); } if (start >= originalStr.Length || end >= originalStr.Length) { throw new Exception("开始位置或结束位置必须小于字符串的最大长度"); } #endregion /*空字符串返回空*/ if (originalStr == "") { return ""; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < originalStr.Length; i++) { if (i >= start && i <= end) { sb.Append(ConvertSBCcaseToDBCcase(originalStr[i])); } else { sb.Append(originalStr[i]); } } return sb.ToString(); } #endregion #region "全角转换为半角 public static string ConvertSBCcaseToDBCcase(string originalStr)" /// /// 时间:2007-10-30 /// 功能:全角转换为半角 /// version: 1.0 /// /// 要进行全角到半角转换的字符串 /// 转换成对应半角的字符串 public static string ConvertSBCcaseToDBCcase(string originalStr) { return ConvertSBCcaseToDBCcase(originalStr, 0, originalStr.Length - 1); } #endregion #region "全角转换为半角 public static char ConvertSBCcaseToDBCcase(char originalChar)" /// /// 时间:2007-10-30 /// 功能:将全角字符转换为半角字符 /// version:1.0 /// /// 要进行全角到半角转换的字符 /// 全角字符转换为半角后的字符 public static char ConvertSBCcaseToDBCcase(char originalChar) { /*空格是特殊的,其全角和半角的差值也与其他字符不同*/ if ((int)originalChar == (int)' ') { return ' '; } else { if ((int)originalChar >= MinSBCcaseToInt && (int)originalChar <= MaxSBCcaseToInt) { return (char)(originalChar - Margin); } else { return originalChar; } } } #endregion #endregion #region "半角转换为全角" #region "半角转换为全角 public static string ConvertDBCcaseToSBCcase(string originalStr, int start, int end)" /// /// 时间:2007-10-30 /// 功能:半角转换为全角 /// version: 1.0 /// /// 要进行半角到全角转换的字符串 /// 要进行半角到全角转换的开始位置,不能大于end /// 要进行半角到全角转换的结束位置,不能小于start /// 转换成对应全角的字符串 public static string ConvertDBCcaseToSBCcase(string originalStr, int start, int end) { #region "异常判断" if (start < 0 || end < 0) { throw new Exception("开始位置或结束位置不能小于零"); } if (start > end) { throw new Exception("开始位置不能大于结束位置"); } if (start >= originalStr.Length || end >= originalStr.Length) { throw new Exception("开始位置或结束位置必须小于字符串的最大长度"); } #endregion /*空字符串返回空*/ if (originalStr == "") { return ""; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < originalStr.Length; i++) { if (i >= start && i <= end) { sb.Append(ConvertDBCcaseToSBCcase(originalStr[i])); } else { sb.Append(originalStr[i]); } } return sb.ToString(); } #endregion #region "半角转换为全角 public static string ConvertDBCcaseToSBCcase(string originalStr)" /// /// 时间:2007-10-30 /// 功能:半角转换为全角 /// version: 1.0 /// /// 要进行半角到全角转换的字符串 /// 转换成对应全角的字符串 public static string ConvertDBCcaseToSBCcase(string originalStr) { return ConvertDBCcaseToSBCcase(originalStr, 0, originalStr.Length - 1); } #endregion #region "半角转换为全角 public static char ConvertDBCcaseToSBCcase(char originalChar)" /// /// 时间:2007-10-30 /// 功能:半角转换为全角 /// version:1.0 /// /// 要进行半角到全角转换的字符 /// 半角字符转换为全角后的字符 public static char ConvertDBCcaseToSBCcase(char originalChar) { /*空格是特殊的,其全角和半角的差值也与其他字符不同*/ if ((int)originalChar == (int)' ') { return ' '; } else { if ((int)originalChar >= MinDBCcaseToInt && (int)originalChar <= MaxDBCcaseToInt) { return (char)(originalChar + Margin); } else { return originalChar; } } } #endregion #endregion #region "全角半角互换" #region "全角半角互换 public static string ExchangeSBCcaseAndDBCcase(string originalStr, int start, int end)" /// /// 时间:2007-10-30 /// 功能:将字符串中的全角字符转换为半角,半角字符转换为全角 /// version:1.0 /// /// 要进行全角半角互换的字符串 /// 要进行全角半角互换字符串的开始位置,不能大于end /// 要进行全角半角互换字符串的结束位置,不能小于start /// 全角半角互换后的字符串 public static string ExchangeSBCcaseAndDBCcase(string originalStr, int start, int end) { #region "异常判断" if (start < 0 || end < 0) { throw new Exception("开始位置或结束位置不能小于零"); } if (start > end) { throw new Exception("开始位置不能大于结束位置"); } if (start >= originalStr.Length || end >= originalStr.Length) { throw new Exception("开始位置或结束位置必须小于字符串的最大长度"); } #endregion /*空字符串返回空*/ if (originalStr == "") { return ""; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < originalStr.Length; i++) { if (i >= start && i <= end) { sb.Append(ExchangeSBCcaseAndDBCcase(originalStr[i])); } else { sb.Append(originalStr[i]); } } return sb.ToString(); } #endregion #region "全角半角互换 public static string ExchangeSBCcaseAndDBCcase(string originalStr)" /// /// 时间:2007-10-30 /// 功能:将字符串中的全角字符转换为半角,半角字符转换为全角 /// version:1.0 /// /// 全角半角互换后的字符串 public static string ExchangeSBCcaseAndDBCcase(string originalStr) { return ExchangeSBCcaseAndDBCcase(originalStr, 0, originalStr.Length - 1); } #endregion #region "全角半角互换 public static char ExchangeSBCcaseAndDBCcase(char originalChar)" /// /// 时间:2007-10-30 /// 功能:全角字符和半角字符互换 /// version:1.0 /// /// 要进行全角和半角互换的字符 /// 行全角和半角互换后的字符 public static char ExchangeSBCcaseAndDBCcase(char originalChar) { if (originalChar == ' ') { return ' '; } else { if (originalChar == ' ') { return ' '; } else { if ((int)originalChar >= MinSBCcaseToInt && (int)originalChar <= MaxSBCcaseToInt) { return (char)(originalChar - Margin); } else { if ((int)originalChar >= MinDBCcaseToInt && (int)originalChar <= MaxDBCcaseToInt) { return (char)(originalChar + Margin); } else { return originalChar; } } } } } #endregion #endregion } }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值