.net简繁体转换
記錄下,免得用的時候到處找
方法一
?/// <summary>
?/// 中文字符工具類
?/// </summary>
?public static class ChineseStringUtility {
???? private const int LOCALE_SYSTEM_DEFAULT = 0x0800;
???? private const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000;
???? private const int LCMAP_TRADITIONAL_CHINESE = 0x04000000;
??
???? [DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)]
???? private static extern int LCMapString(int Locale, int dwMapFlags, string lpSrcStr, int cchSrc, [Out] string lpDestStr, int cchDest);
??
???? /// <summary>
???? /// 將字符轉換成簡體中文
???? /// </summary>
???? /// <param name="source">輸入要轉換的字符串</param>
???? /// <returns>轉換完成后的字符串</returns>
???? public static string ToSimplified(string source) {
???????? String target = new String(' ', source.Length);
???????? int ret = LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_SIMPLIFIED_CHINESE, source, source.Length, target, source.Length);
???????? return target;
???? }
??
???? /// <summary>
???? /// 講字符轉換為繁體中文
???? /// </summary>
???? /// <param name="source">輸入要轉換的字符串</param>
???? /// <returns>轉換完成后的字符串</returns>
???? public static string ToTraditional(string source) {
???????? String target = new String(' ', source.Length);
???????? int ret = LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_TRADITIONAL_CHINESE, source, source.Length, target, source.Length);
???????? return target;
??? }
?}
方法二
?? 在vs中,有一個經典的Microsoft.VisualBasic.dll的VB類庫,根據官方的描述:
?? 它能提供對許多 .NET Framework 類的簡單直觀的訪問,使您能夠編寫可與計算機、應用程序、設置、資源等交互的操作及方法代碼。
? 這次,寫一個比較經典的東西,簡體字轉繁體字的操作方法,要進行操作,先引用類庫.
? 我們可以在項目中引用Microsoft.VisualBasic.dll就可以了
?
實現簡體繁體轉換方法:
Microsoft.VisualBasic.Strings.StrConv(string str, VbStrConv Conversion, int LocaleID);
簡繁轉換,只是枚舉值不一樣而以
簡體轉繁體:Microsoft.VisualBasic.Strings.StrConv(string str, VbStrConv.TraditionalChinese,0)
繁體轉簡體:Microsoft.VisualBasic.Strings.StrConv(string str VbStrConv.SimplifiedChinese,0)
Str: 要轉換的 String 表達式。
Conversion: Microsoft.VisualBasic.VbStrConv。指定要執行的轉換類型的枚舉值。
LocaleID: LocaleID 值(如果與系統 LocaleID 值不同)。(系統 LocaleID 值為默認值。)
實際使用怎樣?那么我們做一個測試
??? class Program
??? {
??????? static void Main(string[] args)
??????? {
??????????? Console.Write(Microsoft.VisualBasic.
???????????? Strings.StrConv("博客園",
???????????? Microsoft.VisualBasic.VbStrConv.TraditionalChinese, 0));
??????????? Console.Read();
??????? }
??? }
?
原文鏈接:http://blog.csdn.net/weiqian000/article/details/5565415
轉載于:https://www.cnblogs.com/DonnyPeng/p/3949347.html
總結
- 上一篇: Hive案例 学生成绩表综合案例
- 下一篇: 逻辑测试