0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JavaScript: Shift-JISの全2 byte文字を召喚するprogram

Posted at

記事題の通りのポンコツprogramです。文字の並び順はUnicodeの昇順となっています。3567 bytesに圧縮してあります。詰めが甘いのでまだ圧縮の余地あり。現状はUnicodeの差分をGamma符号で連長圧縮しているだけです。

let sjisString=((A,O,S,a,n,o,c)=>{for(let b,B,g=i=>{if(!b){B=0;for(i=5;i--;B=B*85+(b<85?b:52))b=A.charCodeAt(a+i)-40;b=32;a+=5}return B>>--b&1};o<9206;O[o++]=S(n)){for(;!g();)c++;for(n+=1<<c;c;)n+=g()<<--c}return O.join("")})(("GBhK(jszA-qa:F9Mqfj-2*`=*#sfZ?z:G/Eo*g4cVXAW`<z^FdJnQbE7p_*NTOpg5iJtlj.`PGJwsO.F]O3<<z.ltaXR<cINEHCXQZ}<:TI^=xDlf8LIz1[pFJd5=3#B3^?zJe>XN#p3^?zJ^W4u<wgbJEagC:V}b|hV/|c?|}hJ)2Mf^>I(1rP8x1{VM;SoDg,)yRqpi6_,H{wk=]Mtl].6W-7Zdf>}5/95XMMiK/oyQJ5gc7CpJ[Gg5N5f6r+v=X}VSFW9segLZ<Lgako}t=)+kA>eE9P@_47A3wa8u=(S}z=WrNVk<=wI`Bgu@3^_ALW9/:7D@w-A`{UFEb,_zq^`n9^sa;E]vA`DK>U<FLiQ2sx2,iRTw[=<b>mOdqCZf2zEBWd;Cf:Lk.==]FP1:8;0B_5k81Uf5JRKGWisV^iXi0Y_MJR9gB@O5urlNT]RU.M=a1B@:U2`pr@Kg?2oeGBWTKkLMTu9-M8Ma)Gg=`P2m_,ql:pQ9E=iqo8E@2X<?TrI.TK[T{/.H/T@9RF,i|gg.Yba3gLl3rD07sE4B3Yly,u*J[*3p7z7`Hv^>xZ.uSR:=^2GmcKE{I.]2D(7C+Byb/BNl=im:hj2K3T^4DEp?B`LxKjDBi|o^@brdTEWEoiMx:),ddT;bkKj6/1.1E*}DjP0TYew2Y7M-+w@:Kjvw7hJ?8}.ShKVD-|7TncF[YWYRLzH8FoZ9[@F?73/9EIsl]4^C0d@S-r.7>zJNw;?Dcqu.gri|?;i1Z}MEW=nsi:j>vXLa[63zc3+7A:Ty3XZ.jN1@tZzDVnI>FOaXgt)*AXmTvXl:McZ*xZb1[RUkPhokE/_PGihW|J^_m;;H8G{^MI5tJ4p8:I`HN`LsiqtzBCeh@Hp:Je=wtg62`PNYP`fLy3)kGKdnapaDIemRXN`0|2-aO}Xsp_fDfaWO=qs[_-`/G2i560tKs(>RhMl3y?9_ZW`v:x5T+`M_JNJ<a2S9/V9^j{>Yh+psltV]=-GlV9XxPtobF^[CsrQZURf]UsBe<f-s2/}a6ts2`v=-?>AInK9YvU2e7aidC?HUB1R:c+)8<v/1Cr3JLBFdYk}`cOpC,VjD=Bg0nXq*Z:},byS-pl_oIIQJ2>}[bZc2Tg/uG(j-DcKlBa2G|6KpAE9}GXk0}VgRAF<Tex=sWE_0h/[0d}+5Ri2BQRnASyfX:S=G3jYP_h:lzZd6lPlT).,4>=fL6@7RLRj}tmUNKI*0`RG}AO_cf_V<r(7](.{EW|Fox,;ejgxfGDs/rid@.WSbfCT)1L)[H@6;5gVbPq7m`bX[5eHXol,I0VV_s@f>f.Aw:XYDx[E?A/mT3N1?TRz=[lMR9pmL-XP6^4Yli3i=yi*9^O97rjgz}_r)5H5EgN2y:<{pO^S6UMlU1nj/J7}d3ZCZ/:O<Tf@=CT}dB]GrhWhnSzws?tV243uP7:KlxEEJ`.T5bJkHfNpzxCOx+Cm]>1ipQpJPF+=/mSHe>GBl]lwiUDj-]>utI+3:k7f1F)GCq:G:]>I9je:{Jtj_`@`q?vZzrS,f,Gh[bZ2A=a[u*(bs7LvE[LJSPlMVgV<B5EKgm/}<PtHZ]/Gq0Joq-j6vF>@nT44V`Wg]it-v577.^c`qDtA|HS5BYAzoC[UzOR.Q3dZD.EDH0yy{WJ@7m<sN;b^ts7>4S(3@K0_]A}j+LlC[?rd4sI=AAa^FSG]QIHaB/F,],.lRC`(c:tm]quBGd5K.fwSA]OY})N=p(M8/Bzru_Wv-sI`bchi[txE6NVjh4^9H6gT*97:b[.ctLZ4Vrdxs}0uQNVFbLjvBfx^M0eB;YAEk{/p}STnPrtmR7`v.8N.T/5BN(Hg{gcn;NO(Pi_2M;>?p4h3fjEUhF)S5;fz(B+X?So_?GxO]RZ0PZdcobJUC]Ij5>CHa;PQ|kA9lPslutqHiby0W,idUT=S^p@TP:PCO6.CX}0dS3kPeL1aS5OM+ZV(6TBr49:*^jVZGXdCR3uW8G/*ZmzE)84y,^sVvZgF@By_]D0Y{_iPRE]2(J/m2z-^BaCW|+YMAc=D5]X/lfyCJV16O=s}2-G_*F-14`c@iUQn2)7ac|X6SFar_Rj+).jW.yl(B6SV:O{wZy(C=TGw1aZ^Ry751D/bWo`}>Y9qXM4ur{VHgoD*>k:->bbgc`Zrc[GCy2h/8BUK<5k0_Aug@{iV/KjbCMsYIHg0T]Vrn12Nre=;?;5|xW|kZ[JNpTA}oKW7Zm1[.@uT73BJ?SOMe/?B08R@9H9GRnmsb`]D;X7+WzjDMTO3*e2)2[E5>y=k@(-Ny-a3n[0_LCm1>lowW.Jk7K=;(q*UaQV=j)7_Yy}@}*(A7_+s{VUYiWQ6wgw6Pvz/}NUj}iqdfKP;>}yP69jMSSS54SeuwLxgSOHc@xS(FR@dulm.`zE]Y:dnA45wR;a?;Is}wJj.04>)>4jXC28dRTx,-s?TUZ1}U.8JZw8k<<r5,r3HYkfE(>,_537Grzo>2-qx@[nsiqN^dz2j{kb>AI`jv{PS3EbwSl-vG.f}D8y+489_N_z6ZsA<}{eb,lQ8C@G5A>|n{AbL,1cRhlO5bTZG6CC|N@C)V??SQ5GoqXE{RZp}w@AD7zzVK,)>U=4oh7z|f^s-fP,;yfpG36FaGCawtfW`9YE-lsgpD5O3gLxgp==21ayGo`4;JV{4@9oGevcJsSUQqz@]X?6Mo<>gbj>U*OfWc1FcKA1Ys9_Dh;i.LDlHpq.0?*X9+wBL?AojMAdJnV-5@30@DeZPOVkxCRf3GUMS.jTq),jj_mF`tG6}(8]k.iL0?H`L:lkz`y_vRxAAj:6u]6e6J]Xy`*->QO3vIWRkH62WbF^FkIH6h6C3gM20tCNiooU:K9=>8GmQD^c]b.=;a[nt`.++tA*[GvzP}:T,MW5}f3^R7Tibk.{q?Ayn^8Po?n-iCI>r?0sVLe7u;*Ycb6JbGZzB@Qv*lmT:RuW+pR5bz:f.jlewk@i,drIApX`H[FNr=bV=FU4};}3.}5I>dgwAB=J6fpE028I;Gt8kel@g)}d+j[qpsdTD6`qS`(bx@L5m)N=}k;OyobkGrS}y<TI<rB00bj:Vihu,CmRNRgqz6`d.8*RJ-3YX5gccp+jgb_g0j.g^l`0CgaM23}gBRg^oo{q@dubxMxv|7p0pu}tBdyu}z3rI2{GSRD+|_tG3F2/ml`W-C;Pv+6GqLGo?EOh2(rY>{_?BsVh4,DD`J9][cnaE,ap7tjqg5g+v?de"+Array(59).join("#")+"z|]?ziJ`N3kc]80KJDyy##>3^?z;`y+=").replace(/#/g,"(4^?z"),[],String.fromCharCode,0,0,0,0)

上記の実装ではsjisStringにstring型で文字列を格納しています。配列の方が良ければsplit("")でも加えると良い。
これが何の役に立つかって? 私は驚くべき活用法を編み出したが、それをここに記すには余白が狭過ぎる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?