# HG changeset patch # User HackBot # Date 1449715702 0 # Node ID 8ddd6d5dc48048595286f4727ee35d6cfbf3c22d # Parent 5cc703dfcdfaddcb8aabc03851a66559c364ace3 ` mv u8tbl bin; mv u8tbl.c src diff -r 5cc703dfcdfa -r 8ddd6d5dc480 bin/u8tbl Binary file bin/u8tbl has changed diff -r 5cc703dfcdfa -r 8ddd6d5dc480 src/u8tbl.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/u8tbl.c Thu Dec 10 02:48:22 2015 +0000 @@ -0,0 +1,45 @@ +#include "stdio.h" +#include "stdlib.h" + +char *int2u8(unsigned U){ + static char out[7]; + int i=0; + if(U<=0x80)out[i++]=U; + else if(U<0x800){ + out[i++]=(U>>6|0xC0); + out[i++]=(U&0x3f|0x80); + }else if(U<=0x10000){ + out[i++]=(U>>12|0xE0); + out[i++]=(U>>6&0x3f|0x80); + out[i++]=(U&0x3f|0x80); + }else if(U<=0x200000){ + out[i++]=(U>>18|0xF0); + out[i++]=(U>>12&0x3f|0x80); + out[i++]=(U>>6&0x3f|0x80); + out[i++]=(U&0x3f|0x80); + }else if(U<=0x4000000){ + out[i++]=(U>>24|0xF8); + out[i++]=(U>>18&0x3f|0x80); + out[i++]=(U>>12&0x3f|0x80); + out[i++]=(U>>6&0x3f|0x80); + out[i++]=(U&0x3f|0x80); + }else if(U<=0x80000000){ + out[i++]=(U>>30|0xFC); + out[i++]=(U>>24&0x3f|0x80); + out[i++]=(U>>18&0x3f|0x80); + out[i++]=(U>>12&0x3f|0x80); + out[i++]=(U>>6&0x3f|0x80); + out[i++]=(U&0x3f|0x80); + } + out[i]=0; + return out; +} + +int main(int argc,char **argv){ + int i = strtol(argv[1],0,0); + int m = strtol(argv[2],0,0); + for(;i<=m;i++){ + printf("%s",int2u8(i)); + if(i%16==15)putchar('\n'); + } +} diff -r 5cc703dfcdfa -r 8ddd6d5dc480 u8tbl Binary file u8tbl has changed diff -r 5cc703dfcdfa -r 8ddd6d5dc480 u8tbl.c --- a/u8tbl.c Wed Dec 09 05:20:45 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -#include "stdio.h" -#include "stdlib.h" - -char *int2u8(unsigned U){ - static char out[7]; - int i=0; - if(U<=0x80)out[i++]=U; - else if(U<0x800){ - out[i++]=(U>>6|0xC0); - out[i++]=(U&0x3f|0x80); - }else if(U<=0x10000){ - out[i++]=(U>>12|0xE0); - out[i++]=(U>>6&0x3f|0x80); - out[i++]=(U&0x3f|0x80); - }else if(U<=0x200000){ - out[i++]=(U>>18|0xF0); - out[i++]=(U>>12&0x3f|0x80); - out[i++]=(U>>6&0x3f|0x80); - out[i++]=(U&0x3f|0x80); - }else if(U<=0x4000000){ - out[i++]=(U>>24|0xF8); - out[i++]=(U>>18&0x3f|0x80); - out[i++]=(U>>12&0x3f|0x80); - out[i++]=(U>>6&0x3f|0x80); - out[i++]=(U&0x3f|0x80); - }else if(U<=0x80000000){ - out[i++]=(U>>30|0xFC); - out[i++]=(U>>24&0x3f|0x80); - out[i++]=(U>>18&0x3f|0x80); - out[i++]=(U>>12&0x3f|0x80); - out[i++]=(U>>6&0x3f|0x80); - out[i++]=(U&0x3f|0x80); - } - out[i]=0; - return out; -} - -int main(int argc,char **argv){ - int i = strtol(argv[1],0,0); - int m = strtol(argv[2],0,0); - for(;i<=m;i++){ - printf("%s",int2u8(i)); - if(i%16==15)putchar('\n'); - } -}