亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

超簡單C#獲取帶漢字的字符串真實(shí)長度(單個英文長度為1,單個中文長度為2)

 更新時間:2018年03月13日 16:30:03   投稿:wdc  
正常情況下,我們是直接去string的length的,但是漢字是有兩個字節(jié)的,所以直接用length是錯的

正常情況下,我們是直接去string的length的,但是漢字是有兩個字節(jié)的,所以直接用length是錯的。如下圖:

所以應(yīng)該用以下代碼來獲取長度:

private void button1_Click(object sender, EventArgs e)
    {
      string s = textBox1.Text;
      int i = GetLength(s);
      MessageBox.Show(i.ToString());
    }

    public static int GetLength(string str)
    {
      if (str.Length == 0)
        return 0;
      ASCIIEncoding ascii = new ASCIIEncoding();
      int tempLen = 0; 
      byte[] s = ascii.GetBytes(str);
      for (int i = 0; i < s.Length; i++)
      {
        if ((int)s[i] == 63)
        {
          tempLen += 2;
        }
        else
        {
          tempLen += 1;
        }
      }
      return tempLen;
    }

運(yùn)行結(jié)果如下圖:

也可以用這個獲取長度:

int i = System.Text.Encoding.Default.GetBytes(s).Length;

通過系統(tǒng)提供函數(shù)我們就可以獲取中文的真實(shí)長度,是不是很簡單

相關(guān)文章

最新評論