一. 关于Base64
目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一。
Base64到底起到什么作用呢?
在参数传输的过程中经常遇到的一种情况:使用全英文的没问题,但一旦涉及到中文就会出现乱码情况。与此类似,网络上传输的字符并不全是可打印的字符,比如二进制文件、图片等。Base64的出现就是为了解决此问题,它是基于64个可打印的字符来表示二进制的数据的一种方法。
二. 图片的Base64编码
其中The Base 64 Alphabet表如下
The Base 64 Alphabet
Value Encoding Value Encoding Value Encoding Value Encoding
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (pad) =
15 P 32 g 49 x
16 Q 33 h 50 y
三. 图片在线Base64编解码
http://tool.chinaz.com/tools/imgtobase
左边的识别码图片,经过Base64编码后,变成一个长长的字符串
四. Unity中如何显示Base64图片
通过Base64图片的字符串,转成Texture2D,即可用于显示
public Texture2D Base64StringToTexture(string base64Str)
{
try
{
//将base64头部信息替换
base64Str = base64Str.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64, "")
.Replace("data:image/jpg;base64, "").Replace("data:image/jpeg;base64, "");
byte[] bytes = Convert.FromBase64String(base64Str);
Texture2D texture = new Texture2D(10, 10);
texture.LoadImage(bytes);
return texture;
}
catch (Exception ex)
{
throw ex;
}
}
如果想把图片的二进制流转成Base64字符串
string base64Str = Convert.ToBase64String(bytes);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。