Asp.net 字母

来源:http://www.cnblogs.com/LittleBai/archive/2016/11/20/6083393.html
-Advertisement-
Play Games

1、字母大小寫處理 2、字母與ASCII的互換 在Web開發時,ASCII的作用!(American Standard Code for Information Interchange,美國信息交換標準代碼) 舉個例子:' 單引號在sql語句中是個殺手,但是如果把(')它轉換成 "&#" + ASC ...


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  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • × 目錄 [1]存儲過程 [2]存儲引擎 前面的話 我們經常會對數據表進行插入、刪除、更新及查找的工作,即我們常說的CURD。其實,當我們輸入命令時,mysql引擎會按照下圖進行操作 如果我們省略了分析和編譯的環節,那麼執行效率將大大提高。這就需要下麵介紹的存儲來實現 存儲過程 存儲過程是SQL語句 ...
  • 當我們在linux上, 使用yum 安裝包時,報錯如下: 這時我們需要安裝EPEL EPEL,即Extra Packages for Enterprise Linux,這個軟體倉庫里有很多非常常用的軟體,而且是專門針對RHEL設計的,對RHEL標準yum源是一個很好的補充,完全免費使用,由Fedor ...
  • 問題 如何控制 OData 路由 解決方案 為了註冊路由,可以使用 HttpConfigurationExtension 類中 MapODataServiceRoute 的擴展方法。對於單一路由這樣做足以,其餘的處理由實體數據模型來處理。 從 ASP.NET Web API 2.2 開始支持 ODa ...
  • 我們看看各個web框架的性能,以TPS為指標排序(每秒返回的response多的在前面,性能越好),所有測試都在Linux中運行。在對比中,我們看到ASP.NET Core取得優異的成績,具體6個回合的對比請移步TechEmpower查看 ...
  • 怎樣使用 async & await 一步步將同步代碼轉換為非同步編程 【博主】反骨仔 【出處】http://www.cnblogs.com/liqingwen/p/6079707.html 序 上次,博主通過《利用 async & await 的非同步編程》一文介紹了 async & await 的基 ...
  • 在工業領域也有極端的情況出現,早些年做通訊的時候,數據包頭、包尾、數據長度、數據校驗位都對,但是就是解析出來的數據不正確,這種情況不會經常出現,但是在某種特殊應用環境可能會頻繁出現,後來經過分析得出結論:可能是由於地質電磁干擾引起的。但是也有技術上的設計缺陷,例如:數據校驗位是累加和,改成CRC是不... ...
  • Visual Studio for Mac離線下載安裝。 環境:OS X EI Caption 10.11.2 .NET Core SDK 1.1 需預先安裝 .NET Core 1.1 SDK macOS版下載地址:https://go.microsoft.com/fwlink/?LinkID=8 ...
  • 前面幾篇重點都在講普通列表的相關操作,本篇主要講樹型列表的操作,詳情如下:... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...