<sectionid="description"> Uno de los <dfn>cifrados</dfn> más simples y más conocidos es el <code>Caesar cipher</code> , también conocido como <code>shift cipher</code> . En un <code>shift cipher</code> los significados de las letras se desplazan en una cantidad determinada. Un uso moderno común es el cifrado <ahref="https://en.wikipedia.org/wiki/ROT13"target="_blank">ROT13</a> , donde los valores de las letras se desplazan en 13 lugares. Así, 'A' ↔ 'N', 'B' ↔ 'O' y así sucesivamente. Escriba una función que tome una cadena codificada <ahref="https://en.wikipedia.org/wiki/ROT13"target="_blank">ROT13</a> como entrada y devuelva una cadena decodificada. Todas las letras serán mayúsculas. No transforme ningún carácter no alfabético (es decir, espacios, puntuación), pero sí páselos. Recuerda usar <ahref="http://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514"target="_blank">Read-Search-Ask</a> si te atascas. Trate de emparejar el programa. Escribe tu propio código. </section>
testString: 'assert(rot13("SERR PBQR PNZC") === "FREE CODE CAMP", "<code>rot13("SERR PBQR PNZC")</code> should decode to <code>FREE CODE CAMP</code>");'
- text: <code>rot13("SERR CVMMN!")</code> debe decodificar a <code>FREE PIZZA!</code>
testString: 'assert(rot13("SERR CVMMN!") === "FREE PIZZA!", "<code>rot13("SERR CVMMN!")</code> should decode to <code>FREE PIZZA!</code>");'
- text: <code>rot13("SERR YBIR?")</code> debe decodificar a <code>FREE LOVE?</code>
testString: 'assert(rot13("SERR YBIR?") === "FREE LOVE?", "<code>rot13("SERR YBIR?")</code> should decode to <code>FREE LOVE?</code>");'
- text: <code>rot13("GUR DHVPX OEBJA SBK WHZCF BIRE GUR YNML QBT.")</code> debe decodificarse a <code>THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.</code>
testString: 'assert(rot13("GUR DHVPX OEBJA SBK WHZCF BIRE GUR YNML QBT.") === "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.", "<code>rot13("GUR DHVPX OEBJA SBK WHZCF BIRE GUR YNML QBT.")</code> should decode to <code>THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.</code>");'