如何在 C# 中将字符串转换为“空终止字节数组”?

Wai*_* Oo 3 .net c# arrays type-conversion

假设我的字符串是 "John Doe"

如何将其转换为字节数组

目前我只有将 转换string字节数组的代码,但是如何将 i 转换为空终止字节数组

byte[] bytes = Encoding.ASCII.GetBytes("John Doe");
Run Code Online (Sandbox Code Playgroud)

提前致谢

AAA*_*ddd 6

无需深入了解您可能需要此功能的原因。我假设它用于串行端口、套接字或文件等。

你可以使用:

byte[] bytes = Encoding.ASCII.GetBytes("John Doe\0");
Run Code Online (Sandbox Code Playgroud)

演示在这里

如果你真的很无聊,你可以创建一个字符串或字节数组扩展方法:

public static string ToNullTerminatedString(this string source) 
    => source + '\0';   

public static byte[] ToNullTerminatedArray(this byte[] source)
{
    byte[] newArray = new byte[source.Length + 1];
    source.CopyTo(newArray, 0);
    return newArray;
}
Run Code Online (Sandbox Code Playgroud)