Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串base64转换为C#中的字符串,无需编码。UTF8.GetString_C#_.net_Encoding_Unity3d_Base64 - Fatal编程技术网

将字符串base64转换为C#中的字符串,无需编码。UTF8.GetString

将字符串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

我正在尝试将字符串base64转换为Unity3d下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除了将字节转换为字符串之外是否还有其他作用。

您是否引用过此站点base64部分在这里似乎无关紧要。你真的只是在问如何在Unity3D中使用UTF-8将
字节[]
转换为
字符串
?您确定不支持
编码吗?(这会让我非常惊讶…)根据MSDN的说法,
编码在Windows 8中肯定受支持,8.1:@JonSkeet是的,Unity3D中不支持,只有在发布到WP8时才支持。@HamzehSoboh-我不确定确切的场景是什么,但您是否尝试过使用BinaryFormatter(假设对象可以用它序列化)?