可以用C#的方法 str = "ab工"; byte[] test = System.Text.Encoding.Default.GetBytes(str);这是test.Length 是等于4的
楼上的正确, 比如说中文占两个字节,而英文字母占一个字节, 所以使用 //取字符串长度 s = "iam方枪枪"; int len = s.Length;//will output as 6 byte[] sarr = System.Text.Encoding.Default.GetBytes(s); len = sarr.Length;//will output as 3+3*2=9
str = "ab工";
byte[] test = System.Text.Encoding.Default.GetBytes(str);这是test.Length 是等于4的
比如说中文占两个字节,而英文字母占一个字节,
所以使用
//取字符串长度
s = "iam方枪枪";
int len = s.Length;//will output as 6
byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
len = sarr.Length;//will output as 3+3*2=9
问题是水晶报表没有GetBytes()方法.
要求用水晶报表的语法实现,因为要作为一个函数在水晶报表中用.
可以用asc()函数试试,循环字符串,然后判断如果asc()>255的就认为是中文,length=2,其他的就length=1,这样累加起来估计差不多