我想将字符串转换为字节数组。 (是的)我已经看到有关此主题的多个问题,但我没有找到答案太有帮助。在大多数情况下,问题相当缺乏。我一直在做一些研究,我将在下面发表我的发现。
我发现这些是将字符串转换为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)
非常感谢你。我期待看到一些很棒的答案!
答案 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);