귀하의 의견을 읽은 후에는 더 합리적입니다. 나는 당신이 이와 같은 메가 바이트의 데이터를 인코딩 할 것인지 확신하지 못했습니다.
Oliver의 제안에 따라 베이컨의 암호 에서 페이지를 빌려 데이터 밀도를 높이는 것이 좋습니다. 감옥 갱은 종종 숨겨진 메시지를 두 가지 다른 스크립트 스타일로 작성된 미사에 숨겨진 메시지를 인코딩하는 데 사용합니다. 소문자 또는 인쇄 대 필기체 문자 (예 :
Hey mOM, WHAT's FOR diNNeR TODAY? = ABBBA AAAAA BAAAB BAABA AAAAA
= P A S T A
그러나 목표는 청진이 아니기 때문에이를 사용하여 글리프 세트를 확장 할 수 있습니다. 이렇게하면 인쇄 및 필기체 영숫자를 사용하여 최대 114 개의 글리프를 만들거나 이중 문자 인코딩을 사용하여 12996 개의 코드 포인트를 만들 수 있습니다.
그러나 15보다 크고 256보다 작은 모든 글리프 수는 이진 데이터의 직선 암호에 대해 본질적으로 동일하기 때문에 각 바이트를 나타내는 데 여전히 2 개의 문자가 필요하므로 문자 당 4 비트의 데이터 밀도를 제공합니다. 오류 감지 / 수정을 위해 여분의 98 글리프 / 12740 코드 포인트를 사용할 수 있습니다.
이를 수행하는 방법은 다음과 같습니다.
- 가장 읽기 쉽고 쓰기 쉬운 256 개의 문자 콤보 세트를 선택하십시오. 다른 문자 콤보가 발생하면 복사 오류임을 알 수 있습니다.
- 끝 문자의 두 가지 버전을 패리티 비트로 사용하십시오.
50 가지 16 문자 글리프 세트를 만듭니다. 그런 다음이를 사용하여 오류 수정 데이터를 암호화합니다.
예를 들어 {set 1}{set 1}
다음 3 개의 니블이 같 0x000
거나 {set 1}{set 2}
같음을 의미합니다 0x001
.
이를 사용하여 4096 가능한 1.5 바이트 값 중 2500+를 나타낼 수 있습니다. 마찬가지로 16 바이트 세트 만 사용하여 다음 바이트의 모든 값을 나타낼 수 있으므로 인코딩 된 데이터 길이를 늘리지 않고도 100 % 중복성을 제공 할 수 있습니다.
또는 추가 압축을 위해 추가 글리프를 사용할 수 있습니다.
- 98 개의 단일 문자 코드 포인트를 선택하여 가변 너비 인코딩을 구현하십시오. 이는 평균 인코딩 된 콘텐츠 크기를 약 20 % 줄입니다.
- 반복되는 니블 / 바이트를 나타 내기 위해 다른 글리프 세트 또는 글리프 세트 조합을 사용하여 실행 길이 인코딩과 유사한 것을 구현하십시오. 예
Ab
= aba
; aB
= abab
; AB
= ababab
...
- 추가 글리프 또는 코드 포인트를 사용하여 데이터에서 반복되는 "단어"및 "문구"를 나타냅니다. 사전 압축 된 데이터는 높은 수준의 엔트로피를 가질 수 있지만 이것이 얼마나 효과적인지 모르겠습니다.
복사 오류를 더욱 줄이기 위해 인코딩 된 내용을 눈금 선으로 표시하고 그래프 용지에 복사합니다. 빠른 열람을 위해 열 / 행 색상이 번갈아있는 사용자 지정 문구 나 문자 열과 번호가 지정된 행이있는 체스 판 스타일 체크 무늬 격자를 사용할 수 있으면 복사 정확도가 더욱 높아집니다.
교대 그리드 레이아웃을 교대 문자 스타일과 결합하여 오류를 쉽게 감지 할 수 있습니다. 즉, 홀수 열이 항상 대문자 인 경우, 전사자가 홀수 열에 소문자를 쓰면 오류가 발생한 것을 알고 추적을 시작하여 어디에서 발생했는지 확인할 수 있습니다.
귀하의 주요 우선 순위가 정확성이라면 바이너리 인코딩 +
해밍 코드를 사용 합니다. 표준 그래프 용지에 (12, 8) 단축 Hamming 코드를 사용하면 124 바이트의 데이터 만 인코딩하여 187 바이트에 맞을 수 있습니다. 그러나 매우 빠르게 (1의 경우 슬래시, 0의 경우 없음) 기록 할 수 있으며 단일 오류 수정 기능을 제공합니다. 여분의 패리티 비트 (13, 8)를 택하면 SECDED (단일 오류 수정, 이중 오류 감지)가 제공됩니다. (15, 11) 또는 (31, 26)과 같은 표준 해밍 코드를 사용하면 시트 당 각각 137 바이트 및 156 바이트의 데이터로 더 나은 효율성을 얻을 수 있습니다. 전사자가 얼마나 정확한지에 따라 더 높은 코드 속도를 달성 할 수 있습니다.
이진 인코딩은 읽기 쉽고 (소리 내) OCR / OMR이 더 쉽습니다.