기본 변환 (CJam)
널 바이트로 시작하지 않는 ASCII 문자열을 인코딩하는 쉬운 방법은 기본 128에서 정수로 변환 한 다음 기본 256으로 변환하는 것입니다.
128b256b:c e# Prints encoded string.
128b256b:c`"256b128b:c" e# Prints encoded string with decoder.
7 비트를 사용하여 각 ASCII 문자를 인코딩합니다.
원래 문자열이 소문자로만 구성되고 a로 시작하지 않는 경우 로 매핑 "a...z"
하여 [0 ... 25]
시작한 다음 위와 같이 진행할 수 있습니다.
'afm26b256b:c e# Prints encoded string.
'afm26b256b:c`"256b26b'af+" e# Prints encoded string with decoder.
마지막으로 원래 문자열에 고유 한 문자가 거의없는 경우 (ASCII 아트에서 일반적 임) 일반적으로 알파벳을 명시 적으로 지정하는 것이 좋습니다.
예를 들면 다음과 같습니다.
" +-/\|"f#6b256b:c e# Prints encoded string.
" +-/\|"f#6b256b:c`"256b6b"" +-/\|"`"f=" e# Prints encoded string with decoder.
경험상 원래 문자열의 첫 번째 문자 는 알파벳 의 두 번째 문자가되고, 원래 문자열의 다음 고유 문자는 알파벳의 첫 번째 문자가되고, 원래 문자열의 다음 고유 문자가됩니다. 알파벳의 세 번째 문자, 알파벳의 네 번째 문자가 될 원래 문자열의 다음 고유 문자 등
마지막 예제의 인코더는 다음과 같이 작동합니다.
" +-/\|"f# e# Replace each character by its index in that string.
6b256b e# Convert from base 6 (length of the alphabet) to base 256.
:c e# Cast each digit to character.
마지막 예의 디코더는 다음과 같이 작동합니다.
256b6b e# Convert from base 256 to base 6.
" +-/\|"f= e# Replace each digit by the corresponding character of the alphabet.