byte[] と NSDataの変換
この変換をしなければならなくなってググってみると。
酢酸先生の記事が。
しかし、書かれているのは2013年。
どうやらその間に少し変わったようで。
今ではもう少し簡単になっていますので、忘備録として書いておきます。
NSData → byte[] の変換
var bytes = data.ToArray();
なんと一発。
大変楽になっています。
NSDataには、他に
IntPtr but = data.Bytes;
なんてのもありますが、ちょっと用途が違うので(戻り値型に注目)注意が必要です。
byte[] → NSData の変換
var data = NSData.FromArray(bytes);
NSData.From???関連は他にもあって。
- FromArray(Byte[])
- FromBytes(IntPtr, UInt32)
- FromBytesNoCopy(IntPtr, UInt32)
- FromBytesNoCopy(IntPtr, UInt32, Boolean)
- FromData(NSData)
- FromFile(String)
- FromFile(String, NSDataReadingOptions, out NSError)
- FromStream(Stream)
- FromString(String)
- FromString(String, NSStringEncoding)
- FromUrl(NSUrl)
- FromUrl(NSUrl, NSDataReadingOptions, out NSError)
理屈としては、 [NSData dataWithBytes:? length:?]
やら、 [NSData dataWithContentsOfFile:?]
やらのラッパーになっているだけなんでしょうが、こういうものがある、というのを知っているだけでもちょっと便利かと。