TypescriptでJavaScriptの例(rawdeflate.js と rawinflate.js)
前の投稿で、JavaSciptで作ったソースファイルをTypeScriptで取り込んでみました。
(主目的はTypeScriptで書いたコードのJavaScriptへの変換でしたが)
それで、ちょうど去年の10月ごろに文字列の圧縮のために使ったrawdeflate.js と rawinflate.jsを再度取り込んでみようと思い、成功したのでそのまとめをします。
その時に書いた記事は以下になります。
-----------------------------------
文字列圧縮(もちろん可逆)
https://ncode.syosetu.com/n5283hn/178/
-----------------------------------
これは以下のHPを参考にしました。rawdeflate.js と rawinflate.jsの入手先もこちらにありました。
-----------------------------------
JavaScript で文字列を圧縮できるらしいよ
https://neos21.net/blog/2021/11/16-01.html#google_vignette
-----------------------------------
さて再度成功と言うのは、前回の時点では単にimport宣言で使用できたのが現在は使用できないからです。
(まあどこかの設定をいじればうまく行くと思いますが、今回はそれなしで行きます)
取り込みは、requireを使用します。関数内で普通に使って構いません。
以下のようなコードでinputtextを圧縮、復号可能です。
悩んだ点は、requireで取り込んで、その中のRawDeflate(あるいはrawInflate)をさらに定義してやるという点でした。もし、何かの参考になれば幸いです。
const compresstest =require('src/assets/othercode/rawdeflate.js')
const RawDeflate =compresstest.RawDeflate // 圧縮
const uncompresstest=require('src/assets/othercode/rawinflate.js')
const rawInflate=uncompresstest.RawDeflate // 復号
//圧縮
let val=inputtext;
val = encodeURIComponent(val); // UTF16 → UTF8
val = RawDeflate.deflate(val); // 圧縮
val = btoa(val); // base64エンコード
alert(inputtext+"\n"+val)
//復号
val = atob(val); // base64デコード
val = rawInflate.inflate(val); // 復号
val = decodeURIComponent(val); // UTF8 → UTF16(復号結果)
alert(inputtext+"\n"+val)




