程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Asp.net 字母,asp.net字母

Asp.net 字母,asp.net字母

編輯:關於.NET

Asp.net 字母,asp.net字母


1、字母大小寫處理

    private string GetChangedStr(string oldStr, strType type) 
    {
        string newStr = "";
        //使用 TextInfo 類時,必須指定區域性信息。多數情況下,可默認當前正在使用的區域性。
        CultureInfo culInfo = Thread.CurrentThread.CurrentCulture;
        TextInfo tInfo = culInfo.TextInfo;
        switch (type)
        {
            case strType.Upper:  //統一轉換成大寫
                newStr = tInfo.ToUpper(oldStr);
                break;
            case strType.Lower:  //統一轉換成小寫
                newStr = tInfo.ToLower(oldStr);
                break;
            case strType.FirToUpper:  //首字符大寫
                newStr = tInfo.ToTitleCase(oldStr);
                break;
            case strType.UTL_LTU:  //大寫轉小寫,小寫轉大寫。
                char[] oldArr = oldStr.ToCharArray();
                for (int i = 0; i < oldArr.Length; i++)
                {
                    if (char.IsUpper(oldStr, i))
                        newStr += oldArr[i].ToString().ToLower();
                    else
                        newStr += oldArr[i].ToString().ToUpper();
                }
                break;
            default:
                break;
        }
        return newStr;
    }

    enum strType
    {
        Upper,
        Lower,
        FirToUpper,
        UTL_LTU
    }

2、字母與ASCII的互換

  在Web開發時,ASCII的作用!(American Standard Code for Information Interchange,美國信息交換標准代碼)

    舉個例子:' 單引號在sql語句中是個殺手,但是如果把(')它轉換成 "&#" + ASCII碼 +";" 去存儲,就可以有效的防治sql注入了!

    private string strToASCII(string oldStr)
    {
        string newStr = "參數不能為空!!!";
        if (!string.IsNullOrEmpty(oldStr))
        {
            int num;
            if (int.TryParse(oldStr, out num))
            {
                newStr = ((char)num).ToString();
            }
            else
            {
                if (Encoding.GetEncoding("unicode").GetBytes(new char[] { oldStr[0] })[1] == 0) //判斷是否為字母
                {
                    newStr = Encoding.GetEncoding("unicode").GetBytes(oldStr)[0].ToString();
                }
            }
        }
        return newStr;
    }

3、漢字與區位碼

     為了使每一個漢字有一個全國統一的代碼,1980年,我國頒布了第一個漢字編碼的國家標准: GB2312-80《信息交換用漢字編碼字符集》基本集,這個字符集是我國中文信息處理技術的發展基礎,也是目前國內所有漢字系統的統一標准。由於國標碼是四位十六進制,為了便於交流,大家常用的是四位十進制的區位碼。

  所有的國標漢字與符號組成一個94×94的矩陣。在此方陣中,每一行稱為一個“區”,每一列稱為一個“位”,因此,這個方陣實際上組成了一個有94個區(區號分別為0 1到94)、每個區內有94個位(位號分別為01到94)的漢字字符集。

  一個漢字所在的區號和位號簡單地組合在一起就構成了該漢字的“區位碼”。

  在漢字的區位碼中,高兩位為區號,低兩位為位號。在區位碼中,

      01-09區為682個特殊字符,

      16~87區為漢字區,包含6763個漢字。其中16-55區為一級漢字(3755個最常用的漢字,按拼音字母的次序排列),

      56-87區為二級漢字(3008個漢字,按部首次序排列);

      88-94 區: 空白, 留待擴展。

    private string strToLocCode(string oldStr) 
    {
        try
        {
            string newStr = "";
            byte[] btArray = new byte[2];  //定義字節數組用於存儲漢字
            btArray = Encoding.Default.GetBytes(oldStr); //賦值
            int first = (short)(btArray[0] - '\0');
            int second = (short)(btArray[1] - '\0');
            newStr = (first - 160).ToString() + (second - 160).ToString();  //計算區位碼
            return newStr;
        }
        catch (Exception e)
        {
            return e.Message+"請輸入正確的漢字";   
        }
    }

 

 

交流群:225443677  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved