将字符串base64转换为C#中的字符串,无需编码。UTF8.GetString
我正在尝试将字符串base64转换为Unity3d下C#中的字符串。当我尝试在Windows Phone 8上构建时,出现了一个错误,因为尚不支持System.Text.Encoding将字符串base64转换为C#中的字符串,无需编码。UTF8.GetString,c#,.net,encoding,unity3d,base64,C#,.net,Encoding,Unity3d,Base64,我正在尝试将字符串base64转换为Unity3d下C#中的字符串。当我尝试在Windows Phone 8上构建时,出现了一个错误,因为尚不支持System.Text.Encoding byte[] data = Convert.FromBase64String(encodedData); string decodedString = System.Text.Encoding.UTF8.GetString(data); 我得到以下错误: 异常:错误:目标框架中不存在方法System.Text
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除了将字节转换为字符串之外是否还有其他作用。您是否引用过此站点base64部分在这里似乎无关紧要。你真的只是在问如何在Unity3D中使用UTF-8将
字节[]
转换为字符串
?您确定不支持编码吗?(这会让我非常惊讶…)根据MSDN的说法,编码在Windows 8中肯定受支持,8.1:@JonSkeet是的,Unity3D中不支持,只有在发布到WP8时才支持。@HamzehSoboh-我不确定确切的场景是什么,但您是否尝试过使用BinaryFormatter(假设对象可以用它序列化)?