|
分類:[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[]型への変換はできませんでした。
何か他に良い方法があったら教えてください。よろしくお願いします。
|