vb.net - 如何从字符串中删除空字符(零字符)

标签 vb.net unicode character-encoding ascii null-character

我一直在尝试从字符串中删除所有零字符

我的字符串是由这些十六进制字节组成的

00 44 00 65 00 6C 00 70 00 68 00 69

对于每个字母,前面都有一个零字节(空字节)。我猜我必须使用某种 Unicode 编码或宽编码来获取没有这些零的文本。

但我无法弄清楚,所以我认为最好的方法是使用替换,但即使这样也失败了。

Dim packet() As String = {&H0, &H44, &H0, &H65, &H0, &H6C, &H0, &H70, &H0, &H68, &H0, &H69}
Dim str As String = Encoding.ASCII.GetString(packet, 0, 12)
str = str.Replace("\0", "")  'Compiles and fails
str = str.Replace(\0, "")  'No compile
str = str.Replace('\0', "")  'No compile

最佳答案

如果您想要不依赖 Microsoft.Visualbasic 命名空间的东西:

str = str.Replace(Convert.ToChar(0),"")

唯一的替代方法是使用 String.Replace 我能想到的是使用正则表达式替换: http://msdn.microsoft.com/en-us/library/844skk0h(v=vs.110).aspx

关于vb.net - 如何从字符串中删除空字符(零字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23693182/

相关文章:

vb.net - 不懂表单上的线程模型

powershell - 使用 Powershell 删除 unicode 字符

python - 为什么 python decode 替换了编码字符串中的无效字节?

xml - 哪种 XML 编码用于存储文件名?

asp.net - 我可以在 asp :Chart control using asp. 网络上处理点击事件吗?

vb.net - npgsql 连接等待 ssl

vb.net - 表单透明度

mysql - 在 Ruby 1.8.7 中插入 MySQL 数据库时,Unicode 格式丢失

android - 读取 Android 中的任何文本文件并将内容转换为 UTF-8?

haskell - 获取内容 utf-8 文件时 hGetContents 挂起