如何仅在A到Z和0到9的情况下使用ORD和CHR?

嘿,你

我正在尝试编写凯撒密码,但只能使用大写字母数字。使用ordchr使用整个ASCII表。如何做到这一点?

这是我到目前为止的内容:

alphabet = ['A'..'Z'] ++ ['0'..'9']

c2I = ord c - ord 'A'

i2C = chr (n + ord 'A')
卡斯滕

基本思想是使用mod环绕到开始。

现在效率不高(但是,嘿,您使用的是最不安全的密码,因此您可能不太在意),但我将仅使用字母和索引功能向您展示:

import Data.List (elemIndex)

alphabet :: [Char]
alphabet = ['A'..'Z'] ++ ['0'..'9']

ith :: Int -> Char
ith i = alphabet !! j
  where j = i `mod` length alphabet

index :: Char -> Int
index c = case c `elemIndex` alphabet of
            Just i -> i
            Nothing -> error "not inalphabet"

encode :: Int -> String -> String
encode n xs = [ ith $ index x + n | x <- xs ]

这会给你

λ> encode 3 "ABCXYZ012789"
"DEF012345ABC"

现在您可能会想找到一种使用ordand的方法chr-如果您区分A-Z之间的大小写,那么两者都可以工作0-9,因为范围是:

  • AZ 65-90
  • 0-9为48-57

因此,如果没有太多技巧,就无法采用一个公式

您应该尝试一下,但是这里需要更多的数学知识(您可能希望像ord c - ord 'A'字母和26 + ord c - ord '0'数字之东西0-35首先进入该范围

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何仅在A到Z和0到9的情况下使用ORD和CHR?

来自分类Dev

如何在不使用 InvokeThen 的情况下使用 bookshelf js(和 knex querybuilder)将多行插入到 mysql 中?

来自分类Dev

如何在显示文件中不使用if语句和foreach的情况下将数据传递到视图?

来自分类Dev

如何在不使用post和get方法的情况下将php文件执行到jquery中?

来自分类Dev

如何在不应用任何函数(如十进制到二进制转换)的情况下计算数字的 0 和 1 的数量?

来自分类Dev

使用ord和chr转换字母

来自分类Dev

如何仅在文本列包含数据的情况下运行“文本到列”

来自分类Dev

计数仅在B和/或C列中有一个唯一值的情况下观察到的A列的值

来自分类Dev

在不使用模型的情况下从视图到控制器获取开始日期和结束日期的值

来自分类Dev

在没有SDK的情况下进行设备注册(使用DPS)和设备到IOT集线器的通信

来自分类Dev

如何在不重新分配的情况下使1到9之间的随机代数

来自分类Dev

仅在不空白的情况下如何删除空白行和下一行

来自分类Dev

仅在不存在特定Cookie的情况下,如何运行此JavaScript函数和HTML

来自分类Dev

在没有桌子的情况下将材料对齐到相同的宽度和高度

来自分类Dev

PHP:如何在不让它无限循环的情况下从 100 到 0 循环 -2?

来自分类Dev

从Datepicker和timepicker附加组件获取日期和时间,并在不使用字符串的情况下将其存储到DB的DateTime列中

来自分类Dev

如何在不使用AutoLayout的情况下在XCode中将SubView固定到iPhone 4和5的屏幕底部?

来自分类Dev

如何仅在链接CAKEPHP 2.x中不使用控制器和动作名称的情况下仅使用属性调用特定动作

来自分类Dev

默认情况下如何停止“文本到列”拆分

来自分类Dev

C#设计-如何在没有空接口的情况下实质上如何将类和枚举分组到列表中?

来自分类Dev

在不连接的情况下使用Linq到Sql

来自分类Dev

在某些情况下,如何使用敲门js将click事件绑定到正文?

来自分类Dev

如何在不使用onCreate()的情况下将数据从BroadcastReceiver传递到Activity

来自分类Dev

如何在不使用AudioSessionSetProperty的情况下路由到kAudioSessionProperty_OverrideCategoryEnableBluetoothInput

来自分类Dev

如何在不使用AudioSessionSetProperty的情况下将音频路由到扬声器?

来自分类Dev

如何在不使用浮动的情况下将框内的图像对齐到右侧

来自分类Dev

在使用请求模块将数据发布到Django视图的情况下,如何提供csrf保护

来自分类Dev

如何在不使用 Ajax 的情况下将值从 PHP 传递到 Javascript?

来自分类Dev

如何在不使用分号的情况下打印 1 到 N?解释这段代码

Related 相关文章

  1. 1

    如何仅在A到Z和0到9的情况下使用ORD和CHR?

  2. 2

    如何在不使用 InvokeThen 的情况下使用 bookshelf js(和 knex querybuilder)将多行插入到 mysql 中?

  3. 3

    如何在显示文件中不使用if语句和foreach的情况下将数据传递到视图?

  4. 4

    如何在不使用post和get方法的情况下将php文件执行到jquery中?

  5. 5

    如何在不应用任何函数(如十进制到二进制转换)的情况下计算数字的 0 和 1 的数量?

  6. 6

    使用ord和chr转换字母

  7. 7

    如何仅在文本列包含数据的情况下运行“文本到列”

  8. 8

    计数仅在B和/或C列中有一个唯一值的情况下观察到的A列的值

  9. 9

    在不使用模型的情况下从视图到控制器获取开始日期和结束日期的值

  10. 10

    在没有SDK的情况下进行设备注册(使用DPS)和设备到IOT集线器的通信

  11. 11

    如何在不重新分配的情况下使1到9之间的随机代数

  12. 12

    仅在不空白的情况下如何删除空白行和下一行

  13. 13

    仅在不存在特定Cookie的情况下,如何运行此JavaScript函数和HTML

  14. 14

    在没有桌子的情况下将材料对齐到相同的宽度和高度

  15. 15

    PHP:如何在不让它无限循环的情况下从 100 到 0 循环 -2?

  16. 16

    从Datepicker和timepicker附加组件获取日期和时间,并在不使用字符串的情况下将其存储到DB的DateTime列中

  17. 17

    如何在不使用AutoLayout的情况下在XCode中将SubView固定到iPhone 4和5的屏幕底部?

  18. 18

    如何仅在链接CAKEPHP 2.x中不使用控制器和动作名称的情况下仅使用属性调用特定动作

  19. 19

    默认情况下如何停止“文本到列”拆分

  20. 20

    C#设计-如何在没有空接口的情况下实质上如何将类和枚举分组到列表中?

  21. 21

    在不连接的情况下使用Linq到Sql

  22. 22

    在某些情况下,如何使用敲门js将click事件绑定到正文?

  23. 23

    如何在不使用onCreate()的情况下将数据从BroadcastReceiver传递到Activity

  24. 24

    如何在不使用AudioSessionSetProperty的情况下路由到kAudioSessionProperty_OverrideCategoryEnableBluetoothInput

  25. 25

    如何在不使用AudioSessionSetProperty的情况下将音频路由到扬声器?

  26. 26

    如何在不使用浮动的情况下将框内的图像对齐到右侧

  27. 27

    在使用请求模块将数据发布到Django视图的情况下,如何提供csrf保护

  28. 28

    如何在不使用 Ajax 的情况下将值从 PHP 传递到 Javascript?

  29. 29

    如何在不使用分号的情况下打印 1 到 N?解释这段代码

热门标签

归档