Function Repository Resource:

ScreamDecipher

Source Notebook

Decipher a scream string as defined by Randall Munroe in xkcd #3054

Contributed by: Arnoud Buzing

ResourceFunction["ScreamDecipher"][string]

gives the deciphered text for the given string.

Details

The Scream cipher was invented by Randall Munroe in XKCD cartoon #3052.
In the Scream cipher, messages consist of all As, with different letters distinguished using diacritics.
ResourceFunction["ScreamDecipher"] is only defined for upper case Latin characters A through Z.

Examples

Basic Examples

The original XKCD cartoon, by Randall Munroe:

Apply ScreamCipher to the given string:

In[1]:=
ResourceFunction["ScreamDecipher"]["ÃA̜ȂÁAǍ A̜ẢA̯A̰ÁȂ, ȦA̦ ȂAÂA̱AĂĂ ǍÄÂȂÅÁ"]
Out[1]=

Apply the cipher to another message:

In[2]:=
ResourceFunction[
 "ScreamDecipher"]["ẢÂ A̅A̰Á ÃA̜ȂÁAǍ A̜ẢA̯A̰ÁȂ, ǍÁÃÃAA̋ÁÃ A̜ÅÂÃẢÃA̅ ÅA̮ AĂĂ AÃ, ȀẢA̅A̰ A̱ẢA̮A̮ÁȂÁÂA̅ ĂÁA̅A̅ÁȂÃ A̱ẢÃA̅ẢÂA̋ÄẢÃA̰ÁA̱ ÄÃẢÂA̋ A̱ẢAA̜ȂẢA̅ẢA̜Ã."]
Out[2]=

The Scream cipher can be used to encrypt a message that makes you want to scream:

In[3]:=
ResourceFunction[
 "ScreamDecipher"]["A̦ÅÄȂ ǍÁÃÃAA̋Á A̰ÁȂÁ!!! A̅A̰ẢÃ ẢÃ ÀÁȂA̦ ÄA̯ÃÁA̅A̅ẢÂA̋!!!"]
Out[3]=

Publisher

Arnoud Buzing

Requirements

Wolfram Language 14.0 (January 2024) or above

Version History

  • 1.0.0 – 07 March 2025

Related Resources

License Information