C# 全角和半角轉(zhuǎn)換以及判斷的簡(jiǎn)單代碼
更新時(shí)間:2013年07月10日 11:13:18 作者:
這篇文章介紹了在C#中判斷和轉(zhuǎn)換全角半角的方法,有需要的朋友可以參考一下
1. 判斷是否為全角半角
全角占用二個(gè)字節(jié) 半角占用一個(gè)字節(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.全角半角轉(zhuǎn)換
#region 全角半角轉(zhuǎn)換
/// <summary>
/// 轉(zhuǎn)全角的函數(shù)(SBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>全角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差65248
///</remarks>
public static string ToSBC(string input)
{
//半角轉(zhuǎn)全角:
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> 轉(zhuǎn)半角的函數(shù)(DBC case) </summary>
/// <param name="input">任意字符串</param>
/// <returns>半角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差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
全角占用二個(gè)字節(jié) 半角占用一個(gè)字節(jié) 用string.length 和System.text.Encoding.Default.GetByteCount 其中string.length表示字符串的字符數(shù),
System.text.Encoding.Default.GetByteCount表示字符串的字節(jié)數(shù)。
判斷半角(是半角則true)
如下:
復(fù)制代碼 代碼如下:
if (checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
全角(是全角則返回true)
如下:
復(fù)制代碼 代碼如下:
if (2 * checkString.Length == Encoding.Default.GetByteCount(checkString)) { return true; } else { return false; }
2.全角半角轉(zhuǎn)換
復(fù)制代碼 代碼如下:
#region 全角半角轉(zhuǎn)換
/// <summary>
/// 轉(zhuǎn)全角的函數(shù)(SBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>全角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差65248
///</remarks>
public static string ToSBC(string input)
{
//半角轉(zhuǎn)全角:
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> 轉(zhuǎn)半角的函數(shù)(DBC case) </summary>
/// <param name="input">任意字符串</param>
/// <returns>半角字符串</returns>
///<remarks>
///全角空格為12288,半角空格為32
///其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差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
相關(guān)文章
C#自定義DataGridViewColumn顯示TreeView
我們可以自定義DataGridView的DataGridViewColumn來實(shí)現(xiàn)自定義的列,下面介紹一下如何通過擴(kuò)展DataGridViewColumn來實(shí)現(xiàn)一個(gè)TreeViewColumn2015-12-12C#中括號(hào)強(qiáng)轉(zhuǎn)、as、is區(qū)別詳解
本文主要介紹了C#中括號(hào)強(qiáng)轉(zhuǎn)、as、is區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02C# 用什么方法將BitConverter.ToString產(chǎn)生字符串再轉(zhuǎn)換回去
這篇文章主要介紹了C# 用什么方法將BitConverter.ToString產(chǎn)生字符串再轉(zhuǎn)換回去,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02C#部署數(shù)據(jù)庫(kù)及IIS站點(diǎn)
這篇文章主要為大家詳細(xì)介紹了C#部署數(shù)據(jù)庫(kù)及IIS站點(diǎn)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03