unity把Base64String转byte[]简化代码
时间: 2024-09-14 21:04:59 浏览: 41
在Unity中,将Base64字符串转换为Byte数组通常可以使用System.Text.Encoding命名空间下的`GetStringFromBase64()`方法配合`Convert.FromBase64String()`函数来实现。下面是一个简化的代码示例:
```csharp
public byte[] Base64ToByteArray(string base64String)
{
if (string.IsNullOrEmpty(base64String))
return null;
// 使用 Convert.FromBase64String 将字符串转换为字节数组
byte[] bytes = Convert.FromBase64String(base64String);
return bytes;
}
```
你可以通过这种方式直接调用这个函数,并传入你的Base64字符串作为参数获取字节数组:
```csharp
string base64Data = "your_base64_string_here";
byte[] byteArray = Base64ToByteArray(base64Data);
```
相关问题
unity把Base64String转byte[]
在Unity中,将Base64字符串转换为`byte[]`数组,你可以通过以下步骤完成:
1. 首先,需要引入System.Text命名空间,因为Base64编码涉及到System.Text.Base64Encoding。
```csharp
using System.Text;
```
2. 然后,定义一个函数来执行Base64解码:
```csharp
public byte[] Base64ToByteArray(string base64String)
{
if (string.IsNullOrEmpty(base64String))
{
return null;
}
byte[] decodedBytes;
using (var ms = new MemoryStream())
{
var ba = Convert.FromBase64String(base64String);
ms.Write(ba, 0, ba.Length);
decodedBytes = ms.ToArray();
}
return decodedBytes;
}
```
这个函数接受一个Base64编码的字符串作为输入,使用`Convert.FromBase64String()`将其解码为字节数组,并返回结果。
使用unity将base64转为图片
在 Unity 中将 base64 编码的字符串转换为图片可以使用以下代码:
```csharp
using System;
using System.IO;
using UnityEngine;
public static class Base64Utils
{
public static Texture2D Base64ToTexture2D(string base64)
{
string[] base64Parts = base64.Split(',');
if (base64Parts.Length != 2)
{
Debug.LogError("Invalid base64 input string!");
return null;
}
string imageType = base64Parts[0].Replace("data:", "").Replace(";base64", "");
if (imageType != "image/png" && imageType != "image/jpeg")
{
Debug.LogError("Unsupported image type: " + imageType);
return null;
}
Texture2D texture = new Texture2D(1, 1);
byte[] imageData = Convert.FromBase64String(base64Parts[1]);
if (texture.LoadImage(imageData))
{
return texture;
}
Debug.LogError("Failed to load image data!");
return null;
}
}
```
这段代码定义了一个 `Base64Utils` 静态类,其中有一个 `Base64ToTexture2D` 方法可以将 base64 编码的字符串转换为 `Texture2D` 对象。这个方法首先分离出 base64 字符串中的图片类型和编码数据,然后根据图片类型创建一个新的 `Texture2D` 对象,并使用 `Convert.FromBase64String` 方法将 base64 编码的字符串解码为字节数组,最后使用 `texture.LoadImage` 方法将字节数组加载到 `Texture2D` 对象中。
你可以在你的代码中使用该静态方法,例如:
```csharp
string base64Str = "data:image/png;base64,iVBORw0KG...QmCC";
Texture2D texture = Base64Utils.Base64ToTexture2D(base64Str);
if (texture != null)
{
// 将 texture 作为图片显示在 UI 或 3D 对象上
}
```
阅读全文