我正在尝试在Unity3d下将字符串base64转换为C#中的字符串。当我尝试在Windows Phone 8上构建时,发生错误,因为尚不支持System.Text.Encoding。
byte[] data = Convert.FromBase64String(encodedData);
string decodedString = System.Text.Encoding.UTF8.GetString(data);
我收到以下错误:
异常:错误:目标框架中不存在方法
System.Text.Encoding System.Text.Encoding::get_ASCII()
更新
我尝试了替代UTF8.GetString:
public static string byteArrayToString(byte[] byteArray)
{
char[] chars = new char[byteArray.Length / sizeof(char)];
System.Buffer.BlockCopy(byteArray, 0, chars, 0, byteArray.Length);
return new string(chars);
}
它应该将字节转换为字符串,就像UTF8.GetString一样,但我得到的只是中文字符!我想知道UTF8.GetString是否会执行除将字节转换为字符串之外的其他操作。