c#相当于VB6的'StrConv'

时间:2011-05-03 01:27:33

标签: c# arrays string vb6 byte

我想将字符串转换为字节数组。 (是的)我已经看到有关此主题的多个问题,但我没有找到答案太有帮助。在大多数情况下,问题相当缺乏。我一直在做一些研究,我将在下面发表我的发现。

我发现这些是将字符串转换为C#.net中的字节数组的所有方法。其中许多都是我自己编码的。

1)

private byte[] getByte(string s)
          {
                 Byte[] b = new byte[s.Length];

                 for (int i = 0; i < s.Length; i++)
                 {
                       char c = Convert.ToChar(s.Substring(i, 1));
                       b[i] = Convert.ToByte(c);
                 }
                 return b;
          }

2)

System.Text.ASCIIEncoding  encoding=new System.Text.ASCIIEncoding();
        Byte[] bytes = encoding.GetBytes(yourString)

3)**当然有file.ReadAllBytes方法,但我不是从文件中读取这些数据。

那么,这里有没有人知道C#等效于以下(VB6)?

Dim sData as string
Dim b() as byte
sData = "Test String in VB6"
b() = strconv(sData, VbFromUnicode)

非常感谢你。我期待看到一些很棒的答案!

3 个答案:

答案 0 :(得分:5)

System.Text.UTF8Encoding  encoding=new System.Text.UTF8Encoding();
return encoding.GetBytes(str);

答案 1 :(得分:5)

您的选项2几乎就在那里,您只需要更改编码器

System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
byte[] unicodeStringAsBytes = UTF8.GetBytes(myString);

答案 2 :(得分:1)

return System.Text.Encoding.UTF8.GetBytes(yourString);