欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

所以應(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é)果如下圖:

也可以用這個(gè)獲取長度:

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

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

相關(guān)文章

最新評論