C 之使用StringHelper來處理漢字轉拼音

2021-08-21 12:45:35 字數 4105 閱讀 6455

stringhelper字串處理幫助

現在已經實現的功能有:

1.用給定的字元填充源字串的左邊以達到指定的長度

2.用給定的字元填充源字串的右邊以達到指定的長度

3.轉半形的函式(dbc case)

4.轉全形的函式(sbc case)

5.漢字轉拼音縮寫

6.取單個字元的拼音聲母

等等演示一下:漢字轉拼音縮寫

我是那windows窗體寫的

實現後的結果:

下面看一下stringhepler的**:

using system;

namespace pycodedemo

// /// // /// 用給定的字元填充源字串的左邊以達到指定的長度

// ///

// /// 源字串

// /// 字串指定的長度

// /// 填充字元

// ///

// // public static string padstring(string sourcestring, int maxlength, string padcharacter)

// public static string leftpadstring(string sourcestring, int maxlength, char padcharacter)

//

// else

//

//// }

//

// return result;

//// }

// /// // /// 用給定的字元填充源字串的右邊以達到指定的長度

// ///

// /// 源字串

// /// 字串指定的長度

// /// 填充字元

// ///

// public static string rightpadstring(string sourcestring, int maxlength, char padcharacter)

//

// else

//

//// }

//

// return result;

//// }

/** /// 轉半形的函式(dbc case)

///

/// 任意字串

/// 半形字串

//////全形空格為12288,半形空格為32

///其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248

///public static string todbc(string input)

if (c[i]>65280 && c[i]<65375)

c[i]=(char)(c[i]-65248);

}

return new string(c);

} /// /// 轉全形的函式(sbc case)

///

/// 任意字串

/// 全形字串

//////全形空格為12288,半形空格為32

///其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248

///

public static string tosbc(string input)

if (c[i]<127)

c[i]=(char)(c[i]+65248);

}return new string(c);

} /// /// 漢字轉拼音縮寫

///

/// 要轉換的漢字字串

/// 拼音縮寫

public static string pyconvert(string str,bool upper)

else

}if (upper)

return result;

} /// /// 取單個字元的拼音聲母

///

/// 要轉換的單個漢字

/// 拼音聲母

internal static string convert(string c,bool upper)

else if (( i >= 0xb0c5)&&( i <= 0xb2c0) )

else if (( i >= 0xb2c1)&&( i <= 0xb4ed) )

else if (( i >= 0xb4ee)&&( i <= 0xb6e9) )

else if (( i >= 0xb6ea)&&( i <= 0xb7a1) )

else if (( i >= 0xb7a2)&&( i <= 0xb8c0) )

else if (( i >= 0xb8c1)&&( i <= 0xb9fd) )

else if (( i >= 0xb9fe)&&( i <= 0xbbf6) )

else if (( i >= 0xbbf7)&&( i <= 0xbfa5) )

else if (( i >= 0xbfa6)&&( i <= 0xc0ab) )

else if (( i >= 0xc0ac)&&( i <= 0xc2e7) )

else if (( i >= 0xc2e8)&&( i <= 0xc4c2) )

else if (( i >= 0xc4c3)&&( i <= 0xc5b5) )

else if (( i >= 0xc5b6)&&( i <= 0xc5bd) )

else if (( i >= 0xc5be)&&( i <= 0xc6d9) )

else if (( i >= 0xc6da)&&( i <= 0xc8ba) )

else if (( i >= 0xc8bb)&&( i <= 0xc8f5) )

else if (( i >= 0xc8f6)&&( i <= 0xcbf9) )

else if (( i >= 0xcbfa)&&( i <= 0xcdd9) )

else if (( i >= 0xcdda)&&( i <= 0xcef3) )

else if (( i >= 0xcef4)&&( i <= 0xd1b8) )

else if (( i >= 0xd1b9)&&( i <= 0xd4d0) )

else if (( i >= 0xd4d1)&&( i <= 0xd7f9) )

else

if (upper)

return result;

} public static string cnametoguidstring(string acname)

";return acname;

} public static string guidstringtocname(string aguidstring)

","").replace("-","");

return aguidstring;

} }}

------程沐喆原創

c 之使用模板

asp content控制項相關知識 net是如何定義和使用模板的,在使用普通的aspx檔案引擎時步驟如下 定義模板 使用vs在新增專案時選擇模板檔案即可 乙個 master 的模板檔案。這個模板中有乙個標籤 我們可以把這個標籤當做在模板中的乙個佔位,把我們需要自己填充的內容補充到這個佔位中即可。定...

c 之堆的使用

定義乙個指標指向堆中的空間,指標所指向的空間是匿名的,只能通過該指標才能進行訪問。用new關鍵字申請的匿名空間,必須用delete關鍵字進行刪除。一 在堆中建立記憶體 堆中用new建立的內存在程式結束時不會自動釋放,通過指標來訪問堆中的資料,程式結束時指標被自動釋放,所以導致堆中的記憶體空間無法使用...

C 之const的使用

const是常量意思 常量是不可以被改變的 const int a 1 intconst a 1 所表示的都是啊a 1 且a不可以被改變 const可以修飾指標 p是指標所指的數值 p是指標的位址 所以 如果const位於 的左側,即指標指向為常量 const p 如果const位於 的右側,即指標...