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

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

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

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

所以應該用以下代碼來獲取長度:

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;
    }

運行結果如下圖:

也可以用這個獲取長度:

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

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

相關文章

最新評論