有问题的代码,语法突出显示在这里:通过Friendpaste
rot13.js:
<script>
String.prototype.rot13 = rot13 = function(s)
{
return (s = (s) ? s : this).split('').map(function(_)
{
if (!_.match(/[A-Za-z]/)) return _;
c = Math.floor(_.charCodeAt(0) / 97);
k = (_.toLowerCase().charCodeAt(0) - 96) % 26 + 13;
return String.fromCharCode(k + ((c == 0) ? 64 : 96));
}).join('');
};
</script>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,使用一个单独的行来将一个方法附加到String对象的原型,我有一个我之前设置的map()方法(我确信这个代码完美无缺;它只是简单迭代数组中的每个元素并应用参数中指定的函数)遍历字符串中的每个字符并执行我认为正确的计算,将字符串转换为它的rot13'd对应项.我很遗憾地错了.任何人都可以找到我错的地方吗?
有没有已经是rot13()和unrot13()实现为标准Java库的一个组成部分?或者我是否必须自己编写并"重新发明轮子"?
它可能看起来像这样:
int rot13 ( int c ) {
if ( (c >= 'A') && (c <= 'Z') )
c=(((c-'A')+13)%26)+'A';
if ( (c >= 'a') && (c <= 'z') )
c=(((c-'a')+13)%26)+'a';
return c;
}
Run Code Online (Sandbox Code Playgroud) 作为一名初学程序员,我最近在vimgolf上练习vim并看到命令"g?" 被有效地用于切换'Ivm'的许多行成为'Vim'.据我所知,这会将每个字母字母向右移动13次,但不理解这将如何证明有用,除非在这些特殊情况下.
Python 3文档在其编解码器页面上列出了rot13 .
我尝试使用rot13编码对字符串进行编码:
import codecs
s = "hello"
os = codecs.encode( s, "rot13" )
print(os)
Run Code Online (Sandbox Code Playgroud)
这给出了一个unknown encoding: rot13错误.是否有不同的方法来使用内置的rot13编码?如果在Python 3中删除了这种编码(正如Google搜索结果似乎表明的那样),为什么它仍然在Python3文档中列出?
我理解支持和反对ROT13的原因,但我想知道为什么特别是人们选择了13个地方来改变字母表?我知道它已经到了一半,但是有一个优雅的理由去 - 远,但不是12或14个点吗?
在我看来,让每个字母尽可能"远离"它的起始位置只对那些可能识别"接近"字符的人有意义(尽管我怀疑这是可能的/可能的).
有人知道答案吗?
我开始看到 uggc/uggcf(rot-13 编码的 http/https)链接出现在我们的系统中。
ROT13算法有哪些实际应用?由于它不能用于加密,我见过它的唯一用法涉及扰乱破坏者或问题的答案.是否还有其他更实际和有用的案例使用ROT13?
我有以下代码,我希望看到它作为oneliner.但是,由于我对C#很新,我目前还不知道如何做到这一点......
码:
static string ROT13 (string input)
{
if (string.IsNullOrEmpty(input)) return input;
char[] buffer = new char[input.Length];
for (int i = 0; i < input.Length; i++)
{
char c = input[i];
if (c >= 97 && c <= 122)
{
int j = c + 13;
if (j > 122) j -= 26;
buffer[i] = (char)j;
}
else if (c >= 65 && c <= 90)
{
int j = c + 13;
if (j > 90) j -= 26; …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来显示(经常)使用的程序,以便它们出现在"开始"菜单的"最近使用的程序"中(在零触摸安装之后).
我试图弄清楚Windows如何存储与程序使用频率相关的信息.
当我从开始菜单运行程序时,我可以看到的唯一(可能)相关的东西是一些(看似未记录的)BagMRU注册表键,对我没有任何意义.
我确实找到了一种固定程序的方法,但这不是我在这里寻找的东西.
更新:请参阅评论以解释我为什么要这样做...
Update2:我正在取得进展......现在我知道他们的密钥存储在哪里,我知道密钥是ROT13 "加密"的.值的第二个4字节是计数器.. http://blog.didierstevens.com/2006/07/24/rot13-is-used-in-windows-you're-joking/
这个ROT13(维基百科)加密的东西很有趣.嗯,当然有一个原因.他们不希望您通过简单的搜索找到它.
我有这个函数来计算ROT13.
string function rot13(required string inString) output="false" {
var j = 0;
var k = 0;
var out = "";
for (var i = 1; i <= Len(arguments.inString); i++){
j = asc(Mid(arguments.inString, i, 1));
if(j >= asc("A") && j <= asc("Z")) {
j = ((j - 52) % 26) + asc("A");
}
else if(j >= asc("a") && j <= asc("z")) {
j = ((j - 84) % 26) + asc("a");
}
out &= Chr(j);
} // end for
return out; …Run Code Online (Sandbox Code Playgroud) rot13 ×10
algorithm ×2
c# ×1
coldfusion ×1
encryption ×1
https ×1
java ×1
javascript ×1
python-3.x ×1
vim ×1
windows ×1