| 分類:[C#]
uint型をbyte[]型に変換したいのですが、方法が分からず困っています。
変換の方法ですが、例えば"1001001100101100000001011010010"の場合は、 1001001 | 10010110 | 00000010 | 11010010 このように、4個に分解してバイト配列に格納したいのです。
試行錯誤した結果、int型については下のコードで実現できました。 int[] fileSizeS = new int[] { fileSize }; IntPtr fileSizeP = Marshal.AllocHGlobal(4); Marshal.Copy(fileSizeS, 0, fileSizeP, 1); byte[] byteFileSize = new byte[4]; Marshal.Copy(fileSizeP, byteFileSize, 0, 4); Marshal.FreeHGlobal(fileSizeP);
しかし、Marshal.Copy()が、uintに対応していないのでuint型からbyte[]型への変換はできませんでした。 何か他に良い方法があったら教えてください。よろしくお願いします。 |