CJam, 96
이것은 많은 불쾌한 바이트를 사용하므로 여기에 16 진수 덤프가 있습니다.
00000000 22 ee 51 1e 53 41 15 ee 51 20 53 41 15 9a 5f 5a |".Q.SA..Q SA.._Z|
00000010 b9 5f 41 15 8c 5f 41 f9 38 24 2a 15 7e 55 1c 5f |._A.._A.8$*.~U._|
00000020 b9 30 5f b9 41 15 a8 26 2a 26 2a 15 36 45 91 c3 |.0_.A..&*&*.6E..|
00000030 ed cb 41 f3 df eb 41 db 20 cb c9 41 e9 df c9 c3 |..A...A. ..A....|
00000040 f3 7f 45 36 15 22 7b 69 32 6d 64 5c 5f 63 5c 37 |..E6."{i2md\_c\7|
00000050 6d 64 22 20 5f 6f 2d 7c 7e 2e 22 3d 2a 3f 7d 2f |md" _o-|~."=*?}/|
Java 인터프리터로 파일을 실행할 수 있습니다. 다음과 같은 ISO-8859-1 인코딩을 사용해야 할 수도 있습니다.
java -Dfile.encoding=ISO-8859-1 …
온라인으로 사용해보십시오
동등한 ASCII 버전 :
[238 81 30 83 65 21 238 81 32 83 65 21 154 95 90 185 95 65 21 140 95 65 249 56 36 42 21 126 85 28 95 185 48 95 185 65 21 168 38 42 38 42 21 54 69 145 195 237 203 65 243 223 235 65 219 32 203 201 65 233 223 201 195 243 127 69 54 21]:c
{i2md\_c\7md" _o-|~."=*?}/
온라인으로 사용해보십시오
설명:
반복되는 7 개의 문자가 있습니다 _o-|~.
.. 그들 각각은 0에서 6까지의 숫자 n으로 인코딩 될 수 있습니다. 각 반복 시퀀스마다 문자 색인 (n)과 반복 횟수 (k)를 단일 바이트로 인코딩 2 * (k * 7 + n)
하고 있습니다. 암호. 그리고 나는 단일 문자를로 인코딩하고 2 * c + 1
있습니다. 여기서 c는 ASCII 코드입니다. 모든 것은 초기 문자열에 들어가고 나머지 프로그램은 그것을 해독합니다.
{…}/ for each character in the string
i convert to integer (extended-ASCII code)
2md integer division by 2, obtaining the quotient (q) and remainder (r)
r decides whether it's a repetition or single character
\_ swap q and r, and duplicate q
c\ convert q to character and move it before the other q
this is for the r=1 case (single character)
7md divide q by 7, obtaining the quotient (k) and remainder (n)
"…"= get the corresponding character from that string (decoding n)
* repeat the character k times
? use the single character or the repetition, depending on r
이전 버전 (109) :
" H(_2)
H(o2)
B/-6\/
A/ | 4|2 3
9* 2/\-3/\
C~2 3~2 3
.6"{_'M,48>&{~*}&}/3/"Have you mooed today?"`*N
온라인으로 사용해보십시오