
我的字符串是由这些十六进制字节组成的
00 44 00 65 00 6C 00 70 00 68 00 69
对于每个字母,前面都有一个零字节(空字节).我猜测我必须使用某种Unicode编码或宽编码才能获得没有那些零的文本.
但我无法理解,所以我认为最好的方法是使用替换,但即使失败.
Dim packet() As String = {&H0,&H44,&H0,&H65,&H6C,&H70,&H68,&H69}Dim str As String = EnCoding.ASCII.GetString(packet,12)str = str.Replace("Encoding.BigEndianUnicode","") 'Compiles and failsstr = str.Replace(Dim packet() As Byte = {&H0,&H69}Dim str As String = EnCoding.BigEndianUnicode.GetString(packet),"") 'No compilestr = str.Replace('',"") 'No compile解决方法 真正的问题不是空字节,而是你如何首先解码字符串字符串.您使用的是错误的编码.您应该使用 而不是EnCoding.ASCII,然后您不需要手动替换空值,因为解码过程将为您处理它们: 总结 以上是内存溢出为你收集整理的vb.net – 如何从字符串中删除空字符(零字符)全部内容,希望文章能够帮你解决vb.net – 如何从字符串中删除空字符(零字符)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)