返回固定长度字符串

  /// <summary>
  /// 返回固定长度字符串,一个中文的长度为2,
  /// </summary>
  /// <param name="p_SrcString">原串</param>
  /// <param name="p_Length">长度</param>
  /// <param name="p_TailString">返回字符串的结尾,如"......"</param>
  /// <returns></returns>
  public static string GetSubString(string p_SrcString, int p_Length, string p_TailString)
  {
   string myResult = p_SrcString;

  1.    if (p_Length >= 0)
       {
        byte[] bsSrcString = System.Text.Encoding.GetEncoding("GB2312").GetBytes(p_SrcString);

        if (bsSrcString.Length >= p_Length)
        {
         int nRealLength = p_Length;
         int[] anResultFlag = new int[p_Length];
         byte[] bsResult = null;

         int nFlag = 0;
         for (int i = 0; i < p_Length; i++ )
         {

          if (bsSrcString[i] > 127)
          {
           nFlag++ ;
           if (nFlag == 3)
           {
            nFlag = 1;
           }
          }
          else
          {
           nFlag = 0;
          }

          anResultFlag[i] = nFlag;
         }

         if ((bsSrcString[p_Length - 1] > 127) && (anResultFlag[p_Length - 1] == 1))
         {
          nRealLength = p_Length - 1;  //去掉半字中文
         }

         bsResult = new byte[nRealLength];

         Array.Copy(bsSrcString, bsResult, nRealLength);

         myResult = System.Text.Encoding.GetEncoding("GB2312").GetString(bsResult);

        }

        myResult = myResult p_TailString;
       }

       return myResult;
      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值