有時(shí),我們需要求字符串所占的字節(jié)數(shù),而中文和英文所占的字節(jié)數(shù)往往是不同的,則在求中英文混合的字符串時(shí),需要一定的技巧。本文就給出了求中英文混合字符串所占字節(jié)數(shù)的方法。
源代碼如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace jiqiao_Console
{
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();
byte[] strBytes = strData.GetBytes(str);
for (int i = 0; i <= strBytes.Length - 1; i++)
{
if (strBytes[i] == 63)
strlen++;
strlen++;
}
return strlen;
}
}
class TestMain
{
static void
{
StringOP sop = new StringOP();
string str = "I Love
int iLen = sop.getStringLength(str);
Console.WriteLine("字符串" + str + "的字節(jié)數(shù)為:" + iLen.ToString());
Console.ReadKey();
}
}
}
注意:在以上名為jiqiao_Console的命名空間中定義了兩個(gè)類,一個(gè)類用于操作字符串的定義,另外一個(gè)類用于檢驗(yàn)。
以上程序的輸出結(jié)果為:
新聞熱點(diǎn)
疑難解答
圖片精選