跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
社群首页
帮助
希顶相关网站
希顶社区官网
(原作)希顶翻译器
〇改希顶转写器
希顶模组服务器
搜索
搜索
外观
创建账号
登录
个人工具
创建账号
登录
查看“︁User:ColorfulGalaxy/Programs”︁的源代码
用户页
讨论
不转换
不转换
简体
繁體
新加坡简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
用户贡献
日志
查看用户组
特殊页面
页面信息
查看头像
外观
移至侧栏
隐藏
←
User:ColorfulGalaxy/Programs
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、storagereadable
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
{{Dup|Talk:聊天字母}} This adaptable C++ code converts [[聊天字母|ASCII-based alphabet]] to ampersand-encoded [[PUA]]. There may be bugs. [http://tio.run/##7Vjdb9s2EH/XX8G4WGAjDiyK@kTiAEEfigIbVrTYU@AHhaIdoTLlSnK8rsjfnh15lE05tus2yfawJUDo@/wdj3c8OnyxOOdFKmePj28yMc2lIB8@/v7u4/Vvzptc8mKZCXLJ6ybLy6sup8rlDFjGSBT5FP7UguRTZzQi7@Vi2RAhs5rkkkixKkDLWco6n0mREX6XVoSP3QsyGuVKdUuUf7mJJ2sh@bIUS@HksgFBYVmhgBRCzpo7h5eyBg3QKsT9jReEk/E3x9U/w50LeSXhaETDfwmYeRrYR55PcfE65r6/w9yPUBggGaBlgJYBM0K0DAJcQlwiBezHzlkQBT4bun8KN@G4RLikYA5rGGoyNFxDGWGSDJUDl2mnEQJHBjhC4AiBIwSONHDor1OtvCB@eKudBS76Zrco9FCISH5ohALJSC8sRso3UQVIJtqSTZHyFHDs6h0ztPONootLbMzRG0PzBKNiAKy3iuEkPprQI85YAyemuMxWp3rxKFLcpBrJxHAzXJgRBihELkMqMDsOMZEMvbeRY1VTqC7FxMAZHiAzblpkk2SBS4xC45zh0TPDTQ9tOXIeLkaj609v378nTUk@/HFN@r@Ke1EMrE6fVel/u9NN3XtPNKCmQpXuFweGTj/GXNV0opeQhXZUQZz8HLDV6RZE/AKb0kH6HbfYzklkdXqMvBgbPg4P@9Y@k2462A/uOFkXlzb3jzLXwN5@YRDH3aioNvE7VQ2drv2YNOCNGeNNBbOB7IBkqOrhIcPtrrnxji5@V6X3wu5iLuT/Xfy6wHBHuHyrixUvRRHOCTORXDMnXB9JHBAuXvduZIR4h7vJc7v4n0o1dPFhc7WbWyhXx7kv84wslvVdHx@qdPDNgYdtH16fV3X@lyjVx4FikuauKlf9nkqheY2W96KaFuWqN7hwyIOj3rJgNxlzeqGI4mwMHx4MCC9EWrUoY1e5nIt5LRoAGLpDC0wb37gbP@OTE255WsCDvOl6wojHSBAVjX6n99HP2PNCcnqqvFKgKAsM5SkqjLQRavvASULNUBw1dIHLJpNL6iXIthLhkXqRckFSqZIoebNMm7yUhKfwTaBsyK2Aj4u8SQvYXabTRFSiCO5h2u/9wuE3u@gN4aEAV9AG75yGWv2hDQ1256/jUs/@A3Gxl45rg2fF1c1x4ltp9Hamke4J13@lNNLdafS207gvruCV0kgPpJF64U/nMfx@vPMUvtTO8ywrVOy1@KFknj0nmdGrBLcBPduXURZtJdQw9rlUIxpdoj/8st@1qHtDuKmewNHNcW1Oy1UJwYtpkw7qkqXMMyGbfJqb/wWkvBFVbw265cHbjtqKYVeIOw/RbTdlRQ2HSNuQTTp3h0yPCdn28LyQN56MhWNbrcNiUwjrsyxXkoiqKqt2GJl5Qwd6cKi31zzNZX@grJvqq/KxussL0ecnYy8IMFI@nolGbayPpQcb4pAekwozeVAERdzU/V5bo7h7pcyMss23hhMx43bbzjON36KAAozyt3i/EPUvo21/9PRU4wX7/WKLop6Zczv1GL3koAVHFsJysr5zyNEzFClAa7ffgXkyK9bq9Ah12kJ/X7@4gqzgO@Tc6kY7q7YB7HutbNldUu@AXVu32zF0z3ONvPu4zbjc8m@V0dNycLbxO57Nvbwp0QeeQin38buHfi3NRV2nM3Ez0Z6nuoANb1g3GbSPrrlPq3QB/SVIsypJWs2Wc@j5GkpB39Orsvqcy5nusUo0y0oSF1rs8fFv Try it online!] <pre class="mw-collapsible">#define PROGRAM #include <cstdio> #include <cstring> #define elif else if // Input ends in newline unsigned char c=0; //input unsigned char iq[8]; //input queue int iql=0; //input queue length const int lev[256]={ 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //16 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //32 000040,000041,000042,000000, 000044,000000,000000,000047, 000050,000051,000052,000053, 000054,000055,000056,000057, //48 +57543,0xe09c,0xe097,0xe09a, 0xe066,0xe067,0xe096,0xe06a, 0xe099,+57503,000072,000073, 000074,000075,000076,000077, //64 000000,0xe093,0xe06b,+57550, 0xe03b,0xe092,0xe069,+57546, 0xe03e,+57547,+57538,+57544, 0xe095,+57549,0xe03f,+57542, //80 +57537,+57545,+57540,+57548, 0xe098,+57539,0xe09b,+57536, +57502,0xe094,+57541,000000, 000000,000000,000000,000002, //96 000003,0xe06f,0xe021,0xe06c, 0xe061,0xe091,0xe06d,0xe063, 0xe065,0xe09d,0xe035,0xe054, 0xe060,0xe033,0xe039,0xe090, //112 0xe032,0xe036,0xe03d,0xe03c, 0xe062,0xe06e,0xe068,0xe034, 0xe037,0xe038,0xe03a,000000, 000000,000000,000007 };//ASCII to PUA (Level) const int gra[256]={ 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //16 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //32 000000,0xe020,000000,000000, +57637,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //48 000000,000000,000000,000000, 000000,+57590,+57636,000000, +57589,000000,000000,000000, 000000,000000,000000,000000, //64 000000,000000,+57598,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, +57634,000000,+57595,+57597, //80 +57585,+57587,+57586,000000, 000000,000000,000000,+57639, 000000,+57593,000000,000000, 000000,000000,000000,000000, //96 000000,+57594,000000,000000, 000000,000000,000000,+57632, 000000,000000,000000,+57588, 000000,+57591,+57640,000000, //112 +57635,+57599,+57584,+57551, 000000,000000,+57633,+57592, +57596,+57638 };//ASCII to PUA (Grave) const int cen[256]={ 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //16 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //32 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,0xe00c,000000, //48 0xe00a,0xe001,0xe002,0xe003, 0xe004,0xe005,0xe006,0xe007, 0xe008,0xe009,000000,000000, 000000,000000,000000,000000, //64 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, 000000,000000,000000,000000, //80 000000,000000,000000,000000, 0xe00b }; void push(char c1){ if(iql>sizeof(iq)){ throw("e001 queue overflow"); } iq[iql]=c1; iql+=1; } void clear(char c1=0){ memset(iq,0,sizeof(iq)); iq[0]=c1; iql=!!c1; } void print(char c1=0){ if(iql==0){ ; } elif(iq[0]==226 && iq[1]==135 && iq[2]==167){ if(iq[4]==96){ if(gra[iq[3]]<129){ throw("e002 space and punctuation can not be capitalized"); } printf("%c%c%d;",38,35,gra[iq[3]]-16); } if(iql==4){ if(lev[iq[3]]<129){ throw("e003 space and punctuation can not be capitalized"); } printf("%c%c%d;",38,35,lev[iq[3]]-16); } } elif(iq[0]==94){ if(iq[2]==96){ if(gra[iq[1]]<129){ throw("e004 space and punctuation can not be capitalized"); } printf("%c%c%d;",38,35,gra[iq[1]]-16); } if(iql==2){ if(lev[iq[1]]<129){ throw("e005 space and punctuation can not be capitalized"); } printf("%c%c%d;",38,35,lev[iq[1]]-16); } } elif(iq[0]==126){ if(iq[2]==96){ if(gra[iq[1]]<129){ throw("e006 space and punctuation can not be made middle case"); } printf("%c%c%d;",38,35,gra[iq[1]]+16); } if(iql==2){ if(lev[iq[1]]<129){ throw("e007 space and punctuation can not be made middle case"); } printf("%c%c%d;",38,35,lev[iq[1]]+16); } } elif(iq[0]==37){ if(iq[2]==37){ printf("%c%c%d;",38,35,cen[iq[1]]); } else { printf("%s",iq); } } elif(iq[1]==96){ if(gra[iq[0]]<10){ throw("e010 unidentified character"); } elif(gra[iq[0]]<127){ printf("%s",iq); } else { printf("%c%c%d;",38,35,gra[iq[0]]); } } elif(iql==1){ if(lev[iq[0]]<10){ throw("e011 unidentified character"); } elif(lev[iq[0]]<127){ printf("%s",iq); } else { printf("%c%c%d;",38,35,lev[iq[0]]); } } else { throw("e03f unknown error"); } clear(c1); } int main() { try{ while(c!=255){ c=getchar(); if(c==10){ print(); puts(""); } elif(c==13){ ; } elif(iql==0){ push(c); } elif(c==226){ print(c); //Capital sign } elif(iql==1&&c==135){ push(c); } elif(iql==2&&c==167){ push(c); } elif(31<c&&c<126&&c!=96){ if(iq[0]==226 && iq[1]==135 && iq[2]==167 && iql==3){ push(c); } elif(iq[0]==94 && iql==1){ push(c); } elif(iq[0]==126 && iql==1){ push(c); } elif(iql>1&&iq[iql-1]==96){ print(c); } elif(31<iq[iql-1]&&iq[iql-1]<126){ print(c); } else { push(c); } } elif(c==96){ push(c); } elif(c==94){ print(c); } elif(c==126){ print(c); } else { push(c); } } print(); }catch(const char message[]){ fputs(message,stderr); //Swap the two arguments if not working } return 0; }</pre>
返回
User:ColorfulGalaxy/Programs
。