c#去除字符串左边的0
string str="000101";
str=str.TrimStart('0');
输出结果:
str=“101”
c#字符串中含有\0的问题处理
问题描述
在byte转换为字符串的过程中,如果byte的值为0,则转换成字符串时变为’\0’字符,’\0’字符在C#中意味着字符串结束,如果后面再有字符,则读取字符串的程序也不能读取和显示出来。
如下图所示,构造一个字节数组,其中含有’\0’字符,在程序运行时通过跟踪可以看出:
(1) 字符串中含有’\0’字符及后续字符;
(2) 二进制数组中含有所有字符,并且’\0’字符的值为0;
(3) 在程序中查询字符串的值时只能显示’\0’字符前的字符。
同时在程序中测试的结果,也是只能显示’\0’字符前的字符。后面的字符被自动截断。下图所示。
程序中窗体测试结果。
通过前面的分析可以看出’\0’字符,其实就是ASCII中的0,下图为查询到的标准ASCII码。
处理措施
针对程序中出现\0字符后后续字符不能显示的问题,可以把\0变为相应的字符别的字符,如*等加以解决,代码如下:
string.Replace('\0','*')
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。