我有字節數組作爲輸入。我想將該數組轉換爲包含數組值的十六進制表示的字符串。這是F#代碼:f#字節[] - >十六進制 - >字符串轉換
let ByteToHex bytes =
bytes
|> Array.map (fun (x : byte) -> String.Format("{0:X2}", x))
let ConcatArray stringArray = String.Join(null, (ByteToHex stringArray))
這產生了我需要的結果,但我想使它更緊湊,因此我只有一個函數。 我無法找到連接ByteToHex的末尾 上每個字節的字符串表示形式的函數。
我試過Array.concat,concat_map,我試過列表,但是我能得到的最好的數組或字符串列表。
問題:
- 什麼是最簡單,最優雅的方式來做到這一點?
- 在F#中有字符串格式化結構,以便我可以從系統程序集中替換String.Format?
輸入示例:[| 0x24uy; 0xA1uy; 0x00uy; 0x1Cuy |]應該會產生字符串「24A1001C」
完美。我嘗試過使用String.Concat,但我沒有添加「System.String.Empty」參數。 – zendar 2008-12-21 15:02:40