将汉字字母混合字符串按指定字节截取长度
2010-10-27 15:19
477 查看
分析以下代码,运行结果
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i= j=
答:i=13,j=10
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i= j=
答:i=13,j=10
class Program { static int ascii_len(string str) { return str.Length + str.ToCharArray().Count((c) => c > 255); } static string ascii_Substring(string str, int len) { int a_len = ascii_len(str); if(a_len<=len) { return str; } int idx = 0; int i=0; while (i < len) { i += str[idx] > 255 ? 2 : 1; idx += 1; } if(i>len) { idx -= 1; } return str.Substring(0, idx); } static void Main(string[] args) { string a = "z中a国abc"; System.Console.WriteLine(ascii_len(a)); System.Console.WriteLine(ascii_Substring(a, 4)); } }
相关文章推荐
- 求中英文混合字符串长度,中英文混合字符串截取(汉字2个字节,字母数字等1个字节),字符转ASCII码,ASCII码转字符
- 汉字英文混合字符串 截取指定字符串长度
- 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数
- C# 汉字的字符串截取指定字节的长度
- 从中英混合字符串中截取指定字节长度的文本
- 不区分汉字还是英文和数字,按指定字节长度截取字符串
- 从一个包含汉字和其他字符的字符串中截取指定字节长度的字符串,不可以出现中文乱码
- 截取字符串,汉字占两个字节,字母占一个字节
- 用C#截取指定长度的中英文混合字符串
- C#中英文混合字符串截取指定长度
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- C# 按指定(字节)长度截取字符串
- 截取字符串,汉字占两个字节,字母占一个字节
- C#实现 获取指定字节长度 中英文混合字符串 的方法
- 用C#截取指定长度的中英文混合字符串
- C#截取中英文混合指定长度字符串实例
- js截取指定字节长度的字符串(jquery)
- 截取字符串,汉字占两个字节,字母占一个字节
- js通过字节长度截取中英文混合字符串
- 用C#截取指定长度的中英文混合字符串