Hi tests: Ok: ./iec16022 -f png -o /tmp/ttt.png "Ostern_2009" [..] ./iec16022 -f png -o /tmp/ttt.png "er/privat/2009/Ostern_2009"
Broken: ./iec16022 -f png -o /tmp/ttt.png "der/privat/2009/Ostern_2009" -> der/privat/2009/Ostern^20 ./iec16022 -f png -o /tmp/ttt.png "lder/privat/2009/Ostern_2009" -> lder/privat/2009/Ostern^20 even more strange: ./iec16022 -f png -o /tmp/ttt.png "der/privat/2009/Ostern_2009der/privat/2009/Ostern_2009" i-> der/privat/2009/Ostern^2009der/privat/2009/Ostern^20 40* "_" get encoded correctly. "a_b_c_ ... _y_z_" get encoded correctly. "lder/privat/2009/Ostern_2009" -> lder/privat/2009/Ostern^20 "aaaa/aaaaaa/aaaa/aaaaaa_aaaa" -> aaaa/aaaaaa/aaaa/aaaaaa^aaaa "ZZZZ/ZZZZZZ/ZZZZ/ZZZZZZ_ZZZZ" -> no, not what I expected :) : ZZZZ:[Z/[Z/[[_[ I don't know really the algo, nor have I really looked at the code, but I think, this looks like integer overflows while counting ascii code together or something like that in combination with the way the pixel gets placed. Let's take "@" (ascii 64 so easy to count) @@@@@@@@@@@@@@@@@@@@@@@@@@_ -> @@ @@@@@@@@@@@@@@@@@@@@@@@@@_ -> @ @@@@@@@@@@@@@@@@@@@@@@@@_ -> @@@@@@@@@@@@@@@@@@@@@@@_ -> @@@ @@@@@@@@@@@@@@@@@@@@@@_ -> @@ @@@@@@@@@@@@@@@@@@@@@_ -> @ @@@@@@@@@@@@@@@@@@@@_ -> @@@@@@@@@@@@@@@@@@@_ -> @@@ .. @@@@@@@@@_ -> @ @@@@@@@@_ -> but: @@@@@@@_ -> @@@@@@@_ @@@@@@_ -> @@@@@@_ @@@@@_ -> @@@@@_ @@@@_ -> @@@@_ so, 7*64 + 95 is ok 8*64 + 95 is NULL n*4*64 + 95 is NULL 1*64+n*4*64 + 95 is 64 2*64+n*4*64 + 95 is 64 64 2*64+n*4*64 + 95 is 64 64 64 @@@@@@@_____ -> @@@@@@@_____ is going to get encoded correctly what ever happens here :-) Perhaps someone could code a little programm around http://sourceforge.net/projects/iec16022sharp/ or port that to C ... Seems I have to build small tiny urls with as few bytes as possible :-/ btw. "dddP _" (same sum as "@@@@@@@@_" gets encoded correctly) -- Hubertus Krogmann hk @ hkit . de
signature.asc
Description: PGP signature