C# 全角和半角轉換以及判斷的簡單代碼
更新時間:2013年07月10日 11:13:18 作者:
這篇文章介紹了在C#中判斷和轉換全角半角的方法,有需要的朋友可以參考一下
1. 判斷是否為全角半角
全角占用二個字節(jié) 半角占用一個字節(jié) 用string.length 和System.text.Encoding.Default.GetByteCount 其中string.length表示字符串的字符數(shù),
System.text.Encoding.Default.GetByteCount表示字符串的字節(jié)數(shù)。
判斷半角(是半角則true)
如下:
if (checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
全角(是全角則返回true)
如下:
if (2 * checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
2.全角半角轉換
#region 全角半角轉換
/// <summary>
/// 轉全角的函數(shù)(SBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>全角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248
///</remarks>
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);
}
/// <summary> 轉半角的函數(shù)(DBC case) </summary>
/// <param name="input">任意字符串</param>
/// <returns>半角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248
///</remarks>
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);
}
#endregion
全角占用二個字節(jié) 半角占用一個字節(jié) 用string.length 和System.text.Encoding.Default.GetByteCount 其中string.length表示字符串的字符數(shù),
System.text.Encoding.Default.GetByteCount表示字符串的字節(jié)數(shù)。
判斷半角(是半角則true)
如下:
復制代碼 代碼如下:
if (checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
全角(是全角則返回true)
如下:
復制代碼 代碼如下:
if (2 * checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
2.全角半角轉換
復制代碼 代碼如下:
#region 全角半角轉換
/// <summary>
/// 轉全角的函數(shù)(SBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>全角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248
///</remarks>
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);
}
/// <summary> 轉半角的函數(shù)(DBC case) </summary>
/// <param name="input">任意字符串</param>
/// <returns>半角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248
///</remarks>
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);
}
#endregion
相關文章
Chrome Visual Studio 2005下的編譯過程
研究Chrome ,首先得把它編譯出來,這對于后續(xù)的代碼分析和閱讀有很大的幫助,想想自己編譯出一個 Chrome 瀏覽器來使用,那是一件很炫的事情。2009-07-07
在WPF中合并兩個ObservableCollection集合
這篇文章介紹了在WPF中合并兩個ObservableCollection集合的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
基于Kubernetes實現(xiàn)前后端應用的金絲雀發(fā)布(兩種方案)
這篇文章主要介紹了基于Kubernetes實現(xiàn)前后端應用的金絲雀發(fā)布,文中給大家提到了兩種常用方案,通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2021-12-12
C#三種方法獲取文件的Content-Type(MIME Type)
這篇文章介紹了C#獲取文件Content-Type(MIME Type)的三種方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01

