我有字节数组作为输入。我想将该数组转换为包含数组值的十六进制表示的字符串。这是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