swift - Compressing unicode strings -
i looking algorithm compress unicode strings in swift. strings compress relatively small (no more 160 characters).
i found lzw compression implemented here. copy pasted code worked ascii characters added unicode characters, got fatal error: unexpectedly found nil while unwrapping optional value while compressing, on line result.append(dict[w]!) guess algorithm doesn't support unicode characters since dict[c] undefined unicode character c.
how can tweak algorithm in order support unicode characters or should try other compression methods? if so, ones?
edit
by changing loop @ beginning from
for in 0 ..< 256 { let s = string(unicodescalar(i)) dict[s] = } to
for in 0 ..< 0xffff { let s = string(unicodescalar(i)) dict[s] = } i can algorithm work, although, solution requires calculation time , memory.
Comments
Post a Comment