Skip to content

UWP 转换 IBuffer 和其他类型

Updated: at 08:22,Created: at 00:31

本文告诉大家在 UWP 如何转换 IBuffer 为 string 和 stream 类

byte 数组转 IBuffer

使用下面代码可以将 byte 数组转 IBuffer

using System.Runtime.InteropServices.WindowsRuntime;
byte[] byteList = xx;
IBuffer buffer = byteList.AsBuffer();

这里的 AsBuffer 是扩展方法所以需要使用 using 的方法

using System.Runtime.InteropServices.WindowsRuntime;
IBuffer buffer = xx;
var byteList = buffer.ToArray();

string 转 IBuffer

可以使用两个方式,第一个方式是将 string 转换为 byte 数组,请看代码

using System.Text;
byteList = Encoding.UTF8.GetBytes(str);

从数组转 string 的方法请看下面

using System.Text;
var str = Encoding.UTF8.GetString(byteList);

转换为 byte 数组就可以使用上面的方法转换为 IBuffer 但是在这样可以看到方法的代码有些多,可以使用下面的方法快速转换

通过 CryptographicBuffer 类可以将 string 转换为 IBuffer 请看代码

using Windows.Security.Cryptography;
IBuffer buffer = CryptographicBuffer.ConvertStringToBinary(str, BinaryStringEncoding.Utf8);
str = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, buffer);

知识共享许可协议

原文链接: http://blog.lindexi.com/post/UWP-%E8%BD%AC%E6%8D%A2-IBuffer-%E5%92%8C%E5%85%B6%E4%BB%96%E7%B1%BB%E5%9E%8B

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系