알 수없는 방식으로 문자열을 압축하는 프로그램이 있습니다. 나는 약간의 인풋과 아웃풋을 알고 있지만, 스트링을 압축하는데 무엇이 사용되고 있는지 확실하지 않습니다.압축 된 짧은 문자열 디코딩. 압축에 대해 불확실 함 - Updated
다음은 나의 예입니다.
(단지 38 XA, 공백 또는 아무것도)
In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Out: "21 1A A6 30 00"
(단지 32 XA)
In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Out: "1c 1a a7 a0 00"
(31 XA 후 1 b)
In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"
Out: "01 77 c5 53 c0 00"
(31 xb, 1 a)
In: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba"
Out: "1e 77 54 f3 80 00"
In: "Hey wot u doing 2day u wanna do something"
Out: "11 C7 C6 2E 78 CE 6B 8E 3A CD 83 E8 1B 37 C5 C5 A6 B9 D1 E1 B0 69 63 DB 5E 71 15 5C 10 00"
(이전 문자열과 동일하지만, 끝에 공간)
In: "Hey wot u doing 2day u wanna do something "
Out: "12 C7 71 8B 9E 33 9A E2 EB 36 0F A0 2C DF 17 17 7A 67 47 86 DF 4B 1E DA F3 88 AA E0 80 00"
가 어떤 도움/조언이 좋은 것입니다, 감사합니다! 또한 BlackBerry 8120에서 온 것임을 알 수 있습니다.
다른 입력을 압축하면 시도 할 수, 예를 들어, 널 문자열, 단일 문자, 두 문자? –
나는 두려워하지 않는다. 나는 그 프로그램을 가지고 있지 않으며, 단지 이러한 예제를 제공 받았고 압축 방법을 알아 내려고했다. 나는 그렇게하기에는 효율적이지 못하기 때문에 30 자 이하의 문자열을 압축하지 않을 것이라고 말했다. – James
추가 할 다른 하나의 관찰; 두 개의 유사한 문자열의 경우 동일한 지점에 두 개의 반복 된 바이트가 있습니다. 첫 번째는 c5c5이고 두 번째는 1717입니다. 우연 일 수도 있고, 아마도 "nn"과 관련이있을 수도 있습니다. – James