获得定长字符串
C#中的字符串是Unicode编码,length是Unicode的Char的个数。所以,假如一个字符串中中英文混杂,又想获得一个固定宽度的字符串,就比较麻烦。单纯转换成字节再截取难免会碰到半个汉字的问题。
下面实现了这样的功能,返回固定字节长度的字符串,如果发生截断,后面补充2个或者3个“.”,根据截断点的位置决定。
/// <summary>
/// 返回定长的字符串,如果发生截取,在后面补充两个或三个"."
/// Author:jetz
/// </summary>
/// <param name="ByteLen"></param>
/// <param name="str"></param>
/// <returns></returns>
static public string GetFixupString(int ByteLen,string str)
{
if(System.Text.Encoding.Default.GetByteCount(str)<=ByteLen)return str;

for(int i=str.Length-1;i>0;i--)
{
int j=System.Text.Encoding.Default.GetByteCount(str.Substring(0,i)); //字节宽度
if(j<=ByteLen-2) //保证能显示".."
{
return str.Substring(0,i)+new string('.',ByteLen-j);
}
}
return "";
}
下面实现了这样的功能,返回固定字节长度的字符串,如果发生截断,后面补充2个或者3个“.”,根据截断点的位置决定。





















【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」