如何将字符串转换为 ASCII,然后再返回到 Haskell?

赛义德 |

我是Haskell的初学者(今天早上开始),并且试图通过将字符串转换为ASCII,将指定的整数添加到ASCII,然后再转换回String的方式来实现对字符串进行加密的功能。我想我已经正确地为单个字符完成了这个操作,但是当涉及到完整的字符串时我被卡住了:

import Data.Char

encodeChar :: Char -> Int -> Char
encodeChar 'x' y = chr ((ord 'x') + y)

encode :: String -> Int -> String
encode (x : xs) y = chr ((ord (x : xs)) + y)

要对字符串进行编码,可以选择递归进行。首先,我们选择如何对空列表进行编码[]然后,假设encode xs y它的工作,我们定义encode (x:xs) y应该是什么

经过一些思考,我们可以看到它encode (x:xs) y应该是一个字符串,其第一个字符是xusing的编码y,即encodeChar x y,而字符串的其余部分(尾部)是xsusing的编码y,即递归调用的结果。

然后我们得到:

encode :: String -> Int -> String
encode []       y = []
encode (x : xs) y = encodeChar x y : encode xs y

这种递归非常普遍,以至于有一个库函数map可以为我们执行它。

map f [x1, .., xn]返回[f x1, .., f xn]因此,我们可以将encodeChar函数映射到整个字符串。

encode :: String -> Int -> String
encode xs y = map (\x -> encodeChar x y) xs
-- or, using more advanced functions
encode xs y = map (flip encodeChar y) xs

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将字符串转换为列表,然后再转换回字符串?

来自分类Dev

如何将JSON字符串转换为PHP数组,然后再次返回?

来自分类Dev

将字符串转换为int然后再返回字符串

来自分类Dev

如何将列表转换为字符串,然后将此字符串返回到初始列表?

来自分类Dev

如何将宽字符串转换为ASCII

来自分类Dev

将Mat转换为Blob,然后再返回到Mat

来自分类Dev

如何将printf()重定向到文件,然后再返回到控制台

来自分类Dev

如何将任何字符串转换为按位倒置的ASCII字符串?

来自分类Dev

Haskell:如何将字符串转换为布尔矩阵

来自分类Dev

MATLAB:将字符串转换为数字,然后再转换回字符串

来自分类Dev

如何将整个列表转换为字符串,然后将字符串转换回整个列表

来自分类Dev

如何将SHA256哈希从整数转换为字符串然后返回?

来自分类Dev

如何将i32转换为表示ASCII字符的字符串

来自分类Dev

如何将数字转换为ASCII值或字符并存储在字符串数组中

来自分类Dev

PHP:如何将ASCII转换为HTML或如何解码字符串

来自分类Dev

Flutter:将MaterialColor转换为字符串,然后再转换回MaterialColor

来自分类Dev

如何将“ thm conjI”转换为可以保存到文件的ASCII字符串?

来自分类Dev

如何将ASCII字符串转换为十进制数字?

来自分类Dev

如何将“ thm conjI”转换为可以保存到文件的ASCII字符串?

来自分类Dev

如何将ASCII数组(图像)转换为单个字符串

来自分类Dev

如何将 Encoding.ASCII.GetBytes 转换为字符串

来自分类Dev

如何将字符串转换为JSON,然后从JSON对象提取所需的值?

来自分类Dev

如何将字符串转换为字节数组并返回

来自分类Dev

如何将浮点数0.0转换为返回字符串0?

来自分类Dev

如何将BigInteger转换为科学记数字符串并返回?

来自分类Dev

如何将字符串json转换为python float并返回json中的数字

来自分类Dev

Spring Boot如何将返回日期转换为字符串

来自分类Dev

如何将字符串转换为 QnA Maker 返回的 JSON

来自分类Dev

如何将智能合约返回的地址转换为可读字符串?

Related 相关文章

  1. 1

    如何将字符串转换为列表,然后再转换回字符串?

  2. 2

    如何将JSON字符串转换为PHP数组,然后再次返回?

  3. 3

    将字符串转换为int然后再返回字符串

  4. 4

    如何将列表转换为字符串,然后将此字符串返回到初始列表?

  5. 5

    如何将宽字符串转换为ASCII

  6. 6

    将Mat转换为Blob,然后再返回到Mat

  7. 7

    如何将printf()重定向到文件,然后再返回到控制台

  8. 8

    如何将任何字符串转换为按位倒置的ASCII字符串?

  9. 9

    Haskell:如何将字符串转换为布尔矩阵

  10. 10

    MATLAB:将字符串转换为数字,然后再转换回字符串

  11. 11

    如何将整个列表转换为字符串,然后将字符串转换回整个列表

  12. 12

    如何将SHA256哈希从整数转换为字符串然后返回?

  13. 13

    如何将i32转换为表示ASCII字符的字符串

  14. 14

    如何将数字转换为ASCII值或字符并存储在字符串数组中

  15. 15

    PHP:如何将ASCII转换为HTML或如何解码字符串

  16. 16

    Flutter:将MaterialColor转换为字符串,然后再转换回MaterialColor

  17. 17

    如何将“ thm conjI”转换为可以保存到文件的ASCII字符串?

  18. 18

    如何将ASCII字符串转换为十进制数字?

  19. 19

    如何将“ thm conjI”转换为可以保存到文件的ASCII字符串?

  20. 20

    如何将ASCII数组(图像)转换为单个字符串

  21. 21

    如何将 Encoding.ASCII.GetBytes 转换为字符串

  22. 22

    如何将字符串转换为JSON,然后从JSON对象提取所需的值?

  23. 23

    如何将字符串转换为字节数组并返回

  24. 24

    如何将浮点数0.0转换为返回字符串0?

  25. 25

    如何将BigInteger转换为科学记数字符串并返回?

  26. 26

    如何将字符串json转换为python float并返回json中的数字

  27. 27

    Spring Boot如何将返回日期转换为字符串

  28. 28

    如何将字符串转换为 QnA Maker 返回的 JSON

  29. 29

    如何将智能合约返回的地址转换为可读字符串?

热门标签

归档