关于C#:将一个字符串转换为套接字的byte[]。

Convert a string to byte[] for socket

我正在用C编写一个简单的FTP客户机。我不擅长C。是否有任何方法可以将字符串转换为byte[]并将其写入套接字?例如,为了引入用户名,这是套接字内容:

1
5553455220736f726f7573680d0a

而ASCII等价物是:

1
USER soroush

我想要一个转换字符串的方法。像这样:

1
2
3
4
5
6
public byte[] getByte(string str)
{
    byte[] ret;
    //some code here
    return ret;
}


尝试

byte[] array = Encoding.ASCII.GetBytes(input);


1
2
3
4
5
6
7
// C# to convert a string to a byte array.
public static byte[] StrToByteArray(string str)
{
    Encoding encoding = Encoding.UTF8; //or below line
    //System.Text.UTF8Encoding  encoding=new System.Text.UTF8Encoding();
    return encoding.GetBytes(str);
}

1
2
3
4
5
6
// C# to convert a byte array to a string.
byte [] dBytes = ...
string str;
Encoding enc = Encoding.UTF8; //or below line
//System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
str = enc.GetString(dBytes);