C#图片的读取和转码

 

刚写完自定义头像模块,记录一下刚才的过程,直接上代码:

public static string ImgByte()
{
  //获取图片地址
  string path = UnityEngine.Application.persistentDataPath + "headIcon/icon.png";
  //将图片转换为流
  FileStream files = new FileStream(path, FileMode.Open);
  byte[] imgByte = new byte[files.Length];
    //将流存储为字节
  files.Read(imgByte, 0, imgByte.Length);
  files.Close();
    //再将字节转化为string
  string str = Convert.ToBase64String(imgByte);
  Debug.Log("数据的长度:" + imgByte.Length);
  Debug.Log("字符串的长度:" + str.Length);
  return str;
}

在讲字节转化为string时,网上很多资料都是

string str = System.Text.Encoding.UTF8.GetString(imgByte);

 但是亲测返回值是乱码,上传的PHP时无法解析,所以尝试使用Convert.ToBase64String进行转码,成功。

posted @ 2018-02-27 11:39  不止为了代码  阅读(595)  评论(0编辑  收藏  举报