Caesers Cipher (凯撒密码)
来源:互联网 发布:南风知我意gl百度云 编辑:程序博客网 时间:2024/06/05 02:01
1、写一个ROT13函数,实现输入加密字符串,输出解密字符串。
2、所有的字母都是大写(每个字母都有其对应的Unicode--UTF16值),不要转化任何非字母形式的字符(例如:空格、标点符号)。
3、编码思路~~A的ASCLL码值为65,M为77、Z为90. A的ROT13函数即 N=A+13 。而处理非字母字符串时只需等于自身即可。
function rot13(str){var arr = [];for(var i=0;i<str.length;i++){var num = str.charCodeAt(i); // 字母转为Unicode值if(num>=65&&num<=90){if(num<=77){num = num + 13;}else{num = num -13;} //判断是否为字母,N前段+13,后-13。
}arr[i] = String.fromCharCode(num); //非字母的空格、标点符号等于自身}
return arr.join("");}rot13("SERR PBQR PNZC");小知识
1、String.charCodeAt() https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
String.fromCharCode() https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
而对于数组的定义方式:
var arr = [];
var arr = new Array();这两种方式是一样的,没什么区别,一种是通过直接量定义,一种是通过JavaScript的内置对象来定义。但是用哪种方式有时候要看定义什么样的数组
比如new Array(10) 和 [10]这肯定是不一样的
前者new Array(10) 是定义10个空间大小的数组,每个数组的值都为undefined
后者是定义[10]1个空间大小的数组,并且这个数组的值为10
0 0
- Caesers Cipher (凯撒密码)
- [古典密码]:Caesar cipher(凯撒密码)
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 凯撒密码
- 机器学习相关——协同过滤
- 764B未解决
- Cygwin 安装 apt-cyg包管理器
- ImageView做翻页式旋转动画
- C# 下拉列表框
- Caesers Cipher (凯撒密码)
- 带有滚动条的textview
- 机器学习(十一):K-Means算法
- iOS 直播app探索(一)
- Android音频焦点详解(上)
- 树莓派学习笔记一:ROS安装
- Swift3.0 反射
- ajax入门之建立XHR对象 (1)
- 【PAT】1051. Pop Sequence