c# Equivalent to VB6's 'StrConv'

本文关键字:StrConv Equivalent to VB6 | 更新日期: 2023-09-27 17:54:53

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

这些都是我在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) **当然有文件。ReadAllBytes方法,但我不是从文件中读取此数据。

那么,这里有人知道c#等效以下(这是VB6)吗?

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

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

c# Equivalent to VB6's 'StrConv'

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

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

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

try

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