69 tecken kort UTF-8-kodare i C

David Vuorio vuorio at kth.se
Sat Jun 30 16:20:19 CEST 2007


Per von Zweigbergk wrote:
> Jag slogs för någon timme eller två sedan av en tanke. En riktigt  
> kort version av en kodare från ISO-8859-1 till UTF-8.
> 
> main(c){for(;c=~getchar();putchar(~c))c&128?:putchar(c>>6^63,c|=64);}

Den är buggig, se min kommentar i tråden och en patch nedan. ;-)

/David

--- conv.c      2007-06-30 16:19:24.000000000 +0200
+++ conv2.c     2007-06-30 16:19:14.000000000 +0200
@@ -1 +1 @@
-main(c){for(;c=~getchar();putchar(~c))c&128?:putchar(c>>6^63,c|=64);}
+main(c){for(;c=~getchar();c|=64,putchar(~c))c&128?:putchar(c>>6^63);}


More information about the Stacken mailing list