I am able to get the byte code but 2 things I am trying to do here is
- format the bytecode so that there are 2 digits per byte. The leading zeroes are excluded.
- Remove spaces between the bytes themselves because they are taking up a lot of space.
gc -Raw -encoding byte "c:\picture.jpg" | % {write-host ('{0:x}' -f $_) -noNewline};
tried trim() but not sure if that is possible or where to put it.
The simplest - and most efficient - solution is to use .NET APIs:
In Windows PowerShell, use
System.BitConverter.ToString, and remove the resulting-separators afterwards:In PowerShell (Core) 7+, use
System.Convert.ToHexString, which directly yields the desired format:Note:
-Encoding Byteto-AsByteStreamthat occurred between the two PowerShell editions - see GitHub issue #7986.