プチコンまとめWiki (初代/mkII)

投稿プログラム:16進文字列圧縮プログラム

2012年8月13日投稿 / 投稿者:天郷思音(わぁぃ@) / タグ : 投稿プログラム 実用ツール 画像圧縮 QRコード mkII専用

概要

16進文字列を圧縮します。

圧縮仕様

圧縮アルゴリズム圧縮率(最高)圧縮率(平均)圧縮時間(平均)
v1.0進数変換50%51%5フレーム
v1.2進数変換
連長圧縮もどき
12.5%32%8フレーム
  • 平均値は、16*16キャラ1枚あたりのものです。また、「動作確認サンプルv1.0」および「動作確認サンプルv1.2改」を用いて測定しています。

注意

  • 偶数字の用途を想定しているため、圧縮する文字列が奇数字だと、圧縮、解凍すると末尾の1文字が消えるようです。
    • 対策としては圧縮ルーチンの前にIF LEN(N$)%2 THEN N$=”0”+N$などとして偶数字になるように調整してください。

用途

  • 画像文字列(CHRデータ)
  • 色情報文字列(COLデータ)
  • 波形文字列(あまりデータが連続していないのでv1.0を使ったほうが良い場合もある。)
  • その他16進数で構成されている文字列
    • 「16進数で構成されている文字列」ということは、「」から「」で構成されていれば良いので10,2進数も圧縮可能ですが、別途作ったほうが圧縮効率は良いです。

動作確認サンプルv1.2

QRコード

PRG:CHRASYU2
PRG-CHRASYU2-QR0.png

補正がかかって読み込めない場合は、画像をクリックすると等倍サイズのQRコードがご覧になれますのでぜひご利用ください。

組み込み用ルーチンv1.2

使用方法

プログラムにAPPENDして
圧縮の場合:N$に圧縮する文字列を入れてGOSUB @ASSYUKUするとB$に圧縮された文字列が入ります。
解凍の場合:B$に解凍する文字列を入れてGOSUB @KAITOUするとN$に解凍された文字列が入ります。

QRコード

プチコンmkII向けのQRコードです。

PRG:WAASYU2A(圧縮)PRG:WAASYU2K(解凍)
PRG-WAASYU2A-QR0.pngPRG-WAASYU2K-QR0.png

補正がかかって読み込めない場合は、画像をクリックすると等倍サイズのQRコードがご覧になれますのでぜひご利用ください。

圧縮輸送プログラム

使い方

  1. プログラムの後ろに圧縮したいDATA文を置く。
  2. プログラムを実行する。
  3. 適切な場所でファンクションキーを押して流し込む。

注意

  • 30行単位で圧縮します。
  • 輸送速度を最大にするため全てのファンクションキーを使用しています。

QRコード

PRG:DATAASYU
PRG-DATAASYU-QR0.png

補正がかかって読み込めない場合は、画像をクリックすると等倍サイズのQRコードがご覧になれますのでぜひご利用ください。

組み込み用ルーチンv1.0

使用方法

プログラムにAPPENDして
圧縮の場合:N$に圧縮する文字列を入れてGOSUB @ASSYUKUするとB$に圧縮された文字列が入ります。
解凍の場合:B$に解凍する文字列を入れてGOSUB @KAITOUするとN$に解凍された文字列が入ります。

QRコード

プチコンmkII向けのQRコードです。

PRG:WAASYU_S(圧縮)PRG:WAASYU_L(解凍)
prg-WAASYU_S-qr0.pngprg-WAASYU_L-qr0.png

補正がかかって読み込めない場合は、画像をクリックすると等倍サイズのQRコードがご覧になれますのでぜひご利用ください。

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(その他の雑談は掲示板OFコーナーでしようね☆。)

  • 名無しさん : 使用方法と使用例を書いてください。 (2012/08/14 (火) 12:15:59)
  • 名無しさん : ↑CHRデータ (2012/08/14 (火) 13:33:12)
  • わぁぃ@ : ↑のほか、波形文字列、その他16進数で構成されている文字列なら何でも圧縮可能です。10,2進数も圧縮可能ですが、別途作り直したほうが圧縮率が高いです。 (2012/08/14 (火) 14:45:11)
  • わぁぃ@ : 使用方法:N$に圧縮する文字列を入れるとB$に圧縮された文字列が入ります。解凍はB$に解凍する文字列を入れるとN$に解凍された文字列が入ります。 圧縮と解答は違うルーチンです。(プログラムリストを見てください。) (2012/08/14 (火) 14:49:38)
  • 名無しさん : 解凍を解答する怪盗 (2012/08/14 (火) 16:14:48)
  • わぁぃ@ : そういえば「確かはしかはシカトする歯科で治せない」なんていうのを考えたっけなと思いだす。 (2012/08/14 (火) 17:33:42)
  • わぁぃ@ : まあ雑談はこのくらいに首都高。 (2012/08/14 (火) 17:35:46)
  • キービィ : これは使える鴨("かも"です。) (2012/08/15 (水) 15:55:41)
  • わぁぃ@ : ランレングス圧縮併用版を出す予定です。 (2012/08/15 (水) 16:13:16)
  • わぁぃ@ : どうもです。 (2012/08/15 (水) 20:00:13)
  • 名無しさん : DATA内にコロンが出てきちゃわないかな? (2012/08/16 (木) 19:55:05)
  • わぁぃ@ : ↑質問が良く分からないです。どこのDATA文ですか? (2012/08/16 (木) 19:59:05)
  • 名無しさん : ごめんさっきの質問は忘れて。コロンやカンマを含むDATAが出ても""でくくれば問題ないのだった。 (2012/08/16 (木) 22:31:02)
  • わぁぃ@ : ↑ちなみにダブルクォーテーションは含まないように調整していますのでご安心ください。 (2012/08/28 (火) 18:57:37)
  • わぁぃ@ : バージョンアップ完了! (2012/08/28 (火) 23:28:35)
  • わぁぃ@ : ちなみに、解凍ルーチンを先に使えば文字列の暗号化にも応用できます。 (2012/08/30 (木) 20:02:39)
  • わぁぃ@ : 圧縮速度を再測定してみました。(2012/09/01 (土) 13:40:41)
  • 名無しさん : v2で試しましたが、元の文字列長が奇数だと、圧縮、解凍すると末尾の1文字が消えますね。v1は未確認です。 (2012/09/01 (土) 15:02:14)
  • わぁぃ@ : 画像文字列、色情報文字列、波形文字列等(いずれも偶数字)の用途を想定しているため、↑の問題に対する対策はしていません。対策としては圧縮ルーチンの前にIF LEN(N$)%2 THEN N$=”0”+N$などとして偶数字になるように調整してください。 (2012/09/01 (土) 15:54:03)
  • 名無しくん : 進数変換、とは何進数に変換してるのですか? (2015/01/26 (月) 22:19:46)
  • 天郷思音 : 256進数 (2015/08/13 (木) 16:59:44)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.160 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:11 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30