4
$\begingroup$

I had a sentence, but the letters in it were too close! They were born paired and every two letters became one. Here is my sentence with the letters still paired:

䗋⛺峙峊杒➈樇⬲椠刑☢斅刓彞嬦

If you can't see it properly here are the Unicode code-points:

17867
9978
23769
23754
26450
10120
27143
11058
26912
21009
9762
25989
21011
24414
23334

The original sentence had twice as many characters. Can you inverse the pairing of the characters to get the original sentence?

Hint 1

The characters are not of importance but the code-points are.

Hint 3

ffff刔刔
eeee偼偼
ffee刔偼
fefe兇兇
feef兇先

$\endgroup$
  • 8
    $\begingroup$ What language is your original sentence written in? $\endgroup$ – Rand al'Thor Mar 26 '15 at 12:25
  • $\begingroup$ @randal'thor English $\endgroup$ – user10203 Mar 26 '15 at 13:45
  • 2
    $\begingroup$ Hmm... Taking these 16-bit characters and splitting them into 8-bit characters produces garbage... $\endgroup$ – Ian MacDonald Mar 26 '15 at 14:01
  • $\begingroup$ Seems like this is using UTF-16 bit Little Endian coding, but not sure if this info helps. $\endgroup$ – LaBird Mar 26 '15 at 16:32
  • 1
    $\begingroup$ Hint 2: ?????? (Of course, then Hint 3 should be: PROFIT!!!!) $\endgroup$ – Duncan Mar 26 '15 at 23:32
10
$\begingroup$

Each pair of characters is encoded by this process:

  • Find the sum of their Unicode code points. (e=101, f=102 → sum=203)
  • Square the sum, add the sum, and divide by 2. (203*203=41209, 41209+203=41412, 41412/2=20706)
  • Add the code point of the second character. (20706+102=20808)
  • Find the character with that number as its code point.

To decode:

  • Find the sum of the original characters by multiplying the new character by 2, taking the square root and rounding to the nearest whole number, then subtracting 1. (17867*2=35734, sqrt(35734)=189.03→189, 189-1=188)
  • Find the second character by calculating what was added in the 3rd part of the encoding process. (188*188=35344, 35344+188=35532, 35532/2=17766, 17867-17766=101 → second character is 101=e)
  • Find the first character by subtracting the second character from the sum. (188-101=87 → first character is 87=W)

Applying this to the given message results in the original text:

We letters must stick together

$\endgroup$
  • 3
    $\begingroup$ Wow ... how did you come up with this? $\endgroup$ – Rand al'Thor Mar 27 '15 at 10:31
  • $\begingroup$ I'm intrigued too - what prompted you to take this approach? $\endgroup$ – J Richard Snape Mar 27 '15 at 10:59
  • 1
    $\begingroup$ The correct answer is actually this, but what was in your answer is explaining it. Well done for finding it! $\endgroup$ – user10203 Mar 27 '15 at 15:35
  • $\begingroup$ Thanks for explaining @Reticality - I thought it was entirely out of the blue, but your link gives it a bit of context. $\endgroup$ – J Richard Snape Mar 30 '15 at 9:14
2
$\begingroup$

First post to Puzzling, so forgive me if adding hints/progress is taboo.

Some interesting notes from the Unicode code points from the Hint #3:

刔 (ff) has Unicode 0x5214, or 21012 decimal
偼 (ee) has Unicode 0x507C, or 20604 decimal
兇 (fe) has Unicode 0x5147, or 20807 decimal
先 (ef) has Unicode 0x5148, or 20808 decimal

The difference between the (ef) glyph and the (fe) glyph is 1. The difference between the (ee) and (ef) glyph, and the (ef) and (ff) glyphs are both 0xCC, or 204 decimal.

Probably irrelevant is the fact that 0xCC in binary is 1100 1100. The first three bits of those each map to 6 6, and 66 is the hex code for lowercase f in UTF-8. Also possibly irrelevant or coincidental is that the decimal values for these glyphs are surprisingly symmetric.

These hints probably haven't brought me much closer, but maybe they'll help someone brighter than I converge on the solution.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy