表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

206/210

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)

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ