Mercurial > repo
view src/u8tbl.c @ 6599:1a383e3acdf4
<izabera> ` base64 -d <<< H4sIAPpsqVYCAy2MywrCMBRE9/mK4dKFQg3WXRb9C3daIbG3GKy5kkayCPl362N1mOHMuN5JSjPD9ptCQfCQyGgcLW13XtmWg9bGVPp2K2SCY460Re5JAtKNke08k5okwsMHFGO03lc1iuLrTUBNsSc/XCqa3OIXqlZHe2dIYIySQ4unXRb4BBvlFca/t+uGz0rTehb4DTBBR8etAAAA | zcat > 99
author | HackBot |
---|---|
date | Thu, 28 Jan 2016 01:28:41 +0000 |
parents | 8ddd6d5dc480 |
children |
line wrap: on
line source
#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'); } }