zoukankan      html  css  js  c++  java
  • Encoding encoding = Encoding.GetEncoding("gb2312"); 与byte[] ping = Encoding.UTF8.GetBytes(inputString);区别

     Encoding encoding = Encoding.GetEncoding("gb2312"); 与byte[] ping = Encoding.UTF8.GetBytes(inputString);区别

     public static string SubString(string inputString, int length)
            {
                byte[] ping = Encoding.UTF8.GetBytes(inputString);
                int count=Encoding.UTF8.GetByteCount(inputString);
                if (count <= length * 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 >= length * 2)
                        break;
                }
                return tempString;
            }

     public static string GetSub(string sub, int length)         {             if (sub == null) return string.Empty;             int len = length * 2;             //aequilateLength为中英文等宽长度,cutLength为要截取的字符串长度             int aequilateLength = 0, cutLength = 0;             Encoding encoding = Encoding.GetEncoding("gb2312");

                string cutStr = sub.ToString();             int strLength = cutStr.Length;             byte[] bytes;             for (int i = 0; i < strLength; i++)             {                 bytes = encoding.GetBytes(cutStr.Substring(i, 1));                 if (bytes.Length == 2)//不是英文                     aequilateLength += 2;                 else                     aequilateLength++;

                    if (aequilateLength <= len) cutLength += 1;

                    if (aequilateLength > len)                     return cutStr.Substring(0, cutLength);//+ "..."             }             return cutStr;         }

  • 相关阅读:
    Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)
    Linux软件安装管理之——dpkg与apt-*详解
    Linux 系统中如何查看日志 (常用命令) tail -f
    /var/log/syslog日志usb接口
    wmctrl像xmonad那样方便地用快捷键来控制任务窗口的显示
    dpkg -S {file} #ubuntu 14.04 rpm -qf {file} #centos 7
    ubuntu查看已安装软件包信息的方法
    监视器-能看到一般用户的进程号
    AES加密工具类
    《学习opencv》笔记——矩阵和图像操作——cvSum,cvSVD,cvSVBkSb,cvTrace,cvTranspose,cvXor,cvXorS and cvZero
  • 原文地址:https://www.cnblogs.com/DTWolf/p/4670697.html
Copyright © 2011-2022 走看看