我有以下功能:
public static byte[] StringToByte(string str)
{
int length = str.Length;
byte[] ba = new byte[length];
for (int i = 0; i < length; i++)
{
ba[i] = (byte)str[i];
}
return ba;
}
我想知道这个方法是否有内置函数?
答案 0 :(得分:9)
System.Text.Encoding.GetBytes(string)
答案 1 :(得分:6)
System.Text.ASCIIEncoding encoding=new System.Text.ASCIIEncoding();
byte[] bytes= encoding.GetBytes(stringData);
答案 2 :(得分:4)
不起作用。真的 - 你的rappraoch坏了。您假设低位字节是您需要的字节。你试图实现吗?字符串的ASCII表示?什么代码页?
检查以下页面:
http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx
使用其中提到的类之一,可能是ASCIIEncoding类。
.NET Framework提供了Encoding类的以下实现,以支持当前的Unicode编码和其他编码:
.NET Framework提供了Encoding类的以下实现,以支持当前的Unicode编码和其他编码:
答案 3 :(得分:2)
有。它是Encoding.GetBytes
。
答案 4 :(得分:2)
确切地说,并举例:
public static byte[] StrToByteArray(string str) {
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
return encoding.GetBytes(str);
}
将ASCIIEncoding替换为您要使用的编码。
答案 5 :(得分:0)
string s = "Like this";
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
byte[] b = enc.GetBytes(s);