最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c# 獲取字符串的字節(jié)數(shù)的方法

 更新時(shí)間:2014年01月15日 09:12:36   作者:  
本篇文章主要是對c#中獲取字符串的字節(jié)數(shù)的方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
將字符串轉(zhuǎn)換為ASCII編碼數(shù)組,只要是中文字節(jié)碼就是ASCII編碼63即"?",所以可以由此來進(jìn)行判斷
復(fù)制代碼 代碼如下:

class StringOP
    {
        /// <summary>
        /// 獲取中英文混排字符串的實(shí)際長度(字節(jié)數(shù))
        /// </summary>
        /// <param name="str">要獲取長度的字符串</param>
        /// <returns>字符串的實(shí)際長度值(字節(jié)數(shù))</returns>
        public int getStringLength(string str)
        {
            if (str.Equals(string.Empty))
                return 0;
            int strlen = 0;
            ASCIIEncoding strData = new ASCIIEncoding();
            //將字符串轉(zhuǎn)換為ASCII編碼的字節(jié)數(shù)字
            byte[] strBytes = strData.GetBytes(str);
            for (int i = 0; i <= strBytes.Length - 1; i++)
            {
                if (strBytes[i] == 63)  //中文都將編碼為ASCII編碼63,即"?"號
                    strlen++;
                strlen++;
            }
            return strlen;
        }
    }

    class TestMain
    {
        static void Main()
        {
            StringOP sop = new StringOP();
            string str = "I Love China!I Love 北京!";
            int iLen = sop.getStringLength(str);
            Console.WriteLine("字符串" + str + "的字節(jié)數(shù)為:" + iLen.ToString());
            Console.ReadKey();
        }
    }

將字符串以Unicode的編碼轉(zhuǎn)換為字節(jié)數(shù)組,判斷每個(gè)字符的第二個(gè)字節(jié)是否大于0,來計(jì)算字符串的字節(jié)數(shù)
復(fù)制代碼 代碼如下:

public static int bytelenght(string str)
        {
            //使用Unicode編碼的方式將字符串轉(zhuǎn)換為字節(jié)數(shù)組,它將所有字符串(包括英文中文)全部以2個(gè)字節(jié)存儲(chǔ)
            byte[] bytestr = System.Text.Encoding.Unicode.GetBytes(str);
            int j = 0;
            for (int i = 0; i < bytestr.GetLength(0); i++)
            {
                //取余2是因?yàn)樽止?jié)數(shù)組中所有的雙數(shù)下標(biāo)的元素都是unicode字符的第一個(gè)字節(jié)
                if (i % 2 == 0)
                {
                    j++;
                }
                else
                {
                    //單數(shù)下標(biāo)都是字符的第2個(gè)字節(jié),如果一個(gè)字符第2個(gè)字節(jié)為0,則代表該Unicode字符是英文字符,否則為中文字符
                    if (bytestr[i] > 0)
                    {
                        j++;
                    }
                }
            }
            return j;
        }

直接轉(zhuǎn)成字節(jié)碼獲取長度:
復(fù)制代碼 代碼如下:

byte[] sarr = System.Text.Encoding.Default.GetBytes(s);  
 int len = sarr.Length;

相關(guān)文章

  • C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法

    C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法

    這篇文章主要介紹了C# 打印網(wǎng)頁不顯示頁眉頁腳的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • C#(asp.net)多線程用法示例(可用于同時(shí)處理多個(gè)任務(wù))

    C#(asp.net)多線程用法示例(可用于同時(shí)處理多個(gè)任務(wù))

    這篇文章主要介紹了C#(asp.net)多線程Thread用法,可用于同時(shí)處理多個(gè)任務(wù),以簡單數(shù)學(xué)運(yùn)算為例講述了Thread類實(shí)現(xiàn)多線程的相關(guān)技巧,需要的朋友可以參考下
    2016-06-06
  • 使用C#實(shí)現(xiàn)上位機(jī)與PLC通信的過程詳解

    使用C#實(shí)現(xiàn)上位機(jī)與PLC通信的過程詳解

    隨著工業(yè)自動(dòng)化技術(shù)的不斷發(fā)展,PLC(可編程邏輯控制器)已成為現(xiàn)代生產(chǎn)過程中不可或缺的設(shè)備,為了實(shí)現(xiàn)設(shè)備之間的數(shù)據(jù)交換和遠(yuǎn)程控制,上位機(jī)系統(tǒng)需要與PLC進(jìn)行通信,在本文中,我們將從零開始,介紹如何使用C#實(shí)現(xiàn)上位機(jī)與PLC的通信,需要的朋友可以參考下
    2025-01-01
  • C#?WPF數(shù)據(jù)綁定模板化操作的完整步驟

    C#?WPF數(shù)據(jù)綁定模板化操作的完整步驟

    WPF中的數(shù)據(jù)綁定提供了很強(qiáng)大的功能,與普通的WinForm程序相比,其綁定功能為我們提供了很多便利,下面這篇文章主要給大家介紹了關(guān)于C#?WPF數(shù)據(jù)綁定模板化操作的完整步驟,需要的朋友可以參考下
    2022-01-01
  • 一文看懂C#中List的擴(kuò)容機(jī)制

    一文看懂C#中List的擴(kuò)容機(jī)制

    這篇文章主要介紹了C#中的擴(kuò)容機(jī)制,文中以實(shí)例代碼輔助,幫助大家更好的工作和學(xué)習(xí),感興趣的小伙伴不妨了解下
    2020-05-05
  • C#實(shí)現(xiàn)鼠標(biāo)裁剪圖像功能

    C#實(shí)現(xiàn)鼠標(biāo)裁剪圖像功能

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)鼠標(biāo)裁剪圖像功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C#中通過API實(shí)現(xiàn)的打印類 實(shí)例代碼

    C#中通過API實(shí)現(xiàn)的打印類 實(shí)例代碼

    這篇文章介紹了,C#中通過API實(shí)現(xiàn)的打印類 實(shí)例代碼,有需要的朋友可以參考一下
    2013-08-08
  • 事務(wù)在c#中的使用

    事務(wù)在c#中的使用

    這篇文章介紹了事務(wù)在c#中的使用,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 詳解C#如何為某個(gè)方法設(shè)定執(zhí)行超時(shí)時(shí)間

    詳解C#如何為某個(gè)方法設(shè)定執(zhí)行超時(shí)時(shí)間

    這篇文章主要為大家詳細(xì)介紹一下C#如何為某個(gè)方法設(shè)定執(zhí)行超時(shí)時(shí)間,文中的示例代碼簡潔易懂,具有一定的借鑒價(jià)值,有需要的小伙伴可以學(xué)習(xí)一下
    2023-10-10
  • C#棧和隊(duì)列的簡介,算法與應(yīng)用簡單實(shí)例

    C#棧和隊(duì)列的簡介,算法與應(yīng)用簡單實(shí)例

    今天小編就為大家分享一篇關(guān)于C#棧和隊(duì)列的簡介,算法與應(yīng)用簡單實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10

最新評論

剑河县| 浮梁县| 布拖县| 贺兰县| 新闻| 左权县| 手游| 南城县| 澳门| 万年县| 新泰市| 松潘县| 宝丰县| 津南区| 福鼎市| 杭州市| 桦川县| 北流市| 莱芜市| 宾阳县| 资中县| 北碚区| 简阳市| 门源| 巩义市| 青州市| 芜湖县| 嘉善县| 云梦县| 玉树县| 永城市| 常山县| 吉安县| 福泉市| 昌都县| 栖霞市| 巴楚县| 贵定县| 北海市| 阿鲁科尔沁旗| 蕉岭县|