-2

我正在使用由 0 和 1 表示的位 我有这个位列表 [[1...16],[17...32],[33...48]] 我想对应每个 8位一个 char 并在最后用函数 chr 或其他做同样事情的函数加入,并假设我有一个转换 [Bit]->Int 的函数。例如

  [[1...16],[17...32],[33...48]]
  [1...8] = char one
  [9...16] = char two
  [17...24] = char three
  [25...32] = char four

  Then I want to make a String = char one ++ char two ++ char three ++ char four.

谢谢。

4

1 回答 1

1

假设您有一个函数fromBits :: [Bit] -> Int,首先将输入列表拆分为 8 个块,例如使用chunksOfsplit,然后,对于每个块,应用fromBits并使用chr将结果转换IntChar.

map (chr . fromBits) $ chunksOf 8 input
于 2012-12-06T18:55:50.753 回答