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 

Attachment: signature.asc
Description: PGP signature

Reply via email to