在没有Encoding.UTF8.GetString的情况下将字符串base64转换为C#中的字符串

时间:2014-06-09 12:46:17

标签: c# .net encoding unity3d base64

我正在尝试在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是否会执行除将字节转换为字符串之外的其他操作。

0 个答案:

没有答案