c#的中英文混合字符串截取 public static string SubString(string inputString, int byteLength)
2015-07-23 15:20
746 查看
/// <summary>
/// c#的中英文混合字符串截取(区分中英文)
/// </summary>
/// <param name="inputString"></param>
/// <param name="byteLength">要输出的字节长度</param>
/// <returns></returns>
public static string SubString(string inputString, int byteLen)
{
int count=Encoding.UTF8.GetByteCount(inputString);
if (count <= byteLen * 2)
{
return inputString;
}
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
string tempString = "";
byte[] s = ascii.GetBytes(inputString);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
}
tempString += inputString.Substring(i, 1);
if (tempLen >= byteLen * 2)
break;
}
return tempString;
}
/// c#的中英文混合字符串截取(区分中英文)
/// </summary>
/// <param name="inputString"></param>
/// <param name="byteLength">要输出的字节长度</param>
/// <returns></returns>
public static string SubString(string inputString, int byteLen)
{
int count=Encoding.UTF8.GetByteCount(inputString);
if (count <= byteLen * 2)
{
return inputString;
}
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0;
string tempString = "";
byte[] s = ascii.GetBytes(inputString);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
}
tempString += inputString.Substring(i, 1);
if (tempLen >= byteLen * 2)
break;
}
return tempString;
}
相关文章推荐
- c#的中英文混合字符串截取指定长度,startidx从0开始
- 浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别
- C# 加密解密(DES,3DES,MD5,Base64) 类
- C#文件的处理
- c# 时间戳转换
- Sublime Text 3 (含:配置 C# 编译环境)
- C#高级编程五十天----栈
- C#集合总结
- C# 截取中英文混合字符串分行显示宽度相同
- 在用c#进行c语言的编程题时,保持运行的窗口能停留的方法
- C# 创建快捷方式
- C#截取中英文混合字符串分行显示
- C#截取指定长度中英文字符串方法 (修改)
- C#Socket多线程通信(聊天室)
- .Net学习笔记----2015-07-23(C#基础复习11,字符串复习)
- c#使用正则表达式
- C#之IO读写文件方法封装代码
- C# WinForm动态调用远程Web服务
- c#高级编程第七版 学习笔记 第一章 .NET体系结构
- C#中Array.Sort() 快速排序-源码分析