日期:2014-05-17  浏览次数:20976 次

诚心求教,string长度问题
一个byte[] arr 用Encoding.UTF8.GetString(arrData) 获取到一个string ID里
messagebox弹出看到的内容是“1234567890”,ID的长度用TextLength得到竟然是255,用Trim也不行,还是255
把ID放到一个textBox里,也显示“1234567890”,再获取textbox的长度就是10了。。。。
能直接把ID缩到正常的长度么?ID会不一样长Substring没法用

------解决方案--------------------
引用:
打错了。。。是 Length



    class Program
    {
        static void Main(string[] args)
        {
            Byte[] ID_Data = Encoding.UTF8.GetBytes("1234567890");
            String ID = Encoding.UTF8.GetString(ID_Data);
            Console.WriteLine(ID);
            Int32 longth = ID.Length;
            Console.WriteLine(longth);
            Console.ReadKey();
        }
    }


貌似没什么问题啊,不知你的 ID_Data 内容是怎样的。要不调试看看吧。
------解决方案--------------------
引用:
一个byte[] arr 用Encoding.UTF8.GetString(arrData) 获取到一个string ID里
messagebox弹出看到的内容是“1234567890”,ID的长度用TextLength得到竟然是255,用Trim也不行,还是255
把ID放到一个textBox里,也显示“1234567890”,再获取textbox的长度就是10了。。。。
能直接把ID缩到正常的长度么?ID会不一样长Substring没法用


byte【】里面有非打印字符吧。肉眼看不到的。