From ac0c22ea638ef1d98cfb3102baa4445c334fa421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Wed, 27 Apr 2022 13:58:25 +0800 Subject: [PATCH 1/5] separate debian --- debian/.gitignore | 5 --- debian/README | 65 -------------------------------------- debian/base16384-docs.docs | 1 - debian/changelog | 5 --- debian/compat | 1 - debian/control | 20 ------------ debian/copyright | 30 ------------------ debian/rules | 3 -- debian/source/format | 1 - 9 files changed, 131 deletions(-) delete mode 100644 debian/.gitignore delete mode 100644 debian/README delete mode 100644 debian/base16384-docs.docs delete mode 100644 debian/changelog delete mode 100644 debian/compat delete mode 100644 debian/control delete mode 100644 debian/copyright delete mode 100755 debian/rules delete mode 100644 debian/source/format diff --git a/debian/.gitignore b/debian/.gitignore deleted file mode 100644 index 66c1a5c..0000000 --- a/debian/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/base16384 -debhelper-build-stamp -base16384.substvars -/.debhelper -/files diff --git a/debian/README b/debian/README deleted file mode 100644 index 0f3eee9..0000000 --- a/debian/README +++ /dev/null @@ -1,65 +0,0 @@ -The Debian Package base16384 ----------------------------- - -# base16384 -> **Note**: This project used the awesome cross-patfrom binary compiling tool [cosmopolitan](https://github.com/jart/cosmopolitan) - -Encode binary file to printable utf16be, and vise versa. - -## Description 说明 -Use 16384 Chinene characters (from \u4E00 to \u8DFF) as the "alphabet", just like what base64 did. - -使用16384个汉字(从`\u4E00`到`\u8DFF`)作为字符表,就像base64用64个字符作为字符表一样。 - -If length of the data has a remainder after moduled by 7, we will use \u3Dxx to log it with xx ranging from 01 to 06. - -使用`\u3Dxx`附加在末尾以表示编码时数据不满7位的个数,其范围在01~06。 - -## Benefits 优点 -Save more space and since the code 0x0000 is encoded to "一", finding zero space seems to be easier. - -相较base64节省更多空间,更容易发现二进制文件的规律。 - -## Usage 使用说明 - -Clone this repo first. - -首先克隆该仓库。 - -```bash -git clone https://github.com/fumiama/base16384.git -cd base16384 -``` - -Then use `cmake` to build. - -然后使用`cmake`进行构建。 - -```bash -mkdir build -cd build -cmake .. -make -make install -``` - -Now you can encode/decode a file by commands below. - -现在可以使用命令对文件进行编码/解码。 - -```kotlin -Usage: -[e|d] - -e encode - -d decode - pass - to read from stdin - pass - to write to stdout -``` - -## Examples 用例 -The text below is the encoding of the base16384.exe itself(MacOS Mojave version). It is clear to see the strucutre of the binary file. - -下面的文本是使用base16384程序编码自身(MacOS Mojave版本)的结果。可见文件结构十分清晰。 - -臾糟蘜一乀縀倀倀一仰一亰佀丈戀渀一一乤一丒一丁浟成扴捩卒懀一一一一一一一一一一伀一一一一一一一一一一一一一一一一一一一丙一丂済一旗荄捡戀一一一一一一一丁一一亀一一一一一一一一丠一一一丅一一戀一侀一一一丗菷徕虴一一一一一丅譽扅搕一一一一一七渍一丐一仼冀一一一蘃帀丐一一一一一一一市一一一一一一一佽浳欝搧娀一一一一也旕剕潐一一一一一丷俀一伀一吀一一一不繰一乀一一一一一一嘄丠一一丆一一一一旗蔷忕灟栙擇侕耀一叵譑単挀一一一一一仰欀一帀丂縀一一一丼啀一嘀一一一一一一乀倀一一一一一一丅譽煳欜璖螜一一一丁浟挑掅帀一一一一一複帀丄一丌帐一一一峁舀一一一一一一一丈一一一一一一一一也旘蓶蟍舀一一一一丗菵引晔一一一一一丂乼一乀一俠一一一一渟一乐一一一一一一一一一一一一一一一叵试籷桛瑅讥籦槀一佽浔彖區一一一一一亘嗀一刀一栀一一一並俰一倀一一一一一一一一一一一一一一一最一嚀刀也旑刕弄一一一一一一倀一伀一丁亀一一一亀一一一一帀一一一儀一丰一丄一一一一旗蓦罽腹楘瓶罽繴檀叵謑佔幀一一一一一一渀一帀一嘀一一一一嘀一娀一一一一一丁渀一帀一一一一一丅譽畯欀一一一一一丁浟弐捄刀一一一一一倈一丄一丆一一一一亂一七一一一一一一丘一丄帀一一一一一也旛吕词蝭暛蓅证色丗菴弅扁一一一一一丂亀一乀一倀一一一一渠一丰一一一一一一俀一乐一一一一一一叵讍絭楛蓠一一一一佽浄幕刐一一一一一亠嘀一刀一儀倀一一一一一刀一一一一一一刀一一一一一一一一最一劀一也旓劔蜭卄恕一一一一儂一伀一丁一一一一什一一一僀匀一一一伀一丐一一一一一一嚀丈什一一儀一嘀一亃一丰一一一一一一仠縀为一一渱一娀一丂一丁渀一同渀乸一丢兀一瘁一亰一乐一一一一一一一一丂縀一夀一估一一一一一一一一一一一一一一一嶃娀两一一一一一一一一一一一尀一倀一丌一丂试腲姛咖嚽特椙一一一一侰一丘一与碹仔沖煑桒礅敽蒎籬耀一倀一丁一一丸堀七溠丄一一縀一一劀炠一丐一一一一一一亠一渆一丁縔一一一一一一一一儀一仠一丆一一倀一丟禐刀一市试腲姛咖嚽穩暔薗寑獭妐烦忥穩暀一一一垀一乀一丸儐一帀一傐一丐一丏仄一堀一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一丅挢埥怘諴澧侓園朤焇瘠买暜焇瘟繾帠唆嬄腀一一矁煃仸崇趃豁敱嬢嬕壀一伡焌炒丝嗿澃老瘼両毃滰予崀噝绠誀怏丈数蘼个净倗樶桃糿跿误跿跞跿跾槿跿螿跿跛跿跃翴丁捈灹曔槾凸佝耤瀴嬹一丄澌劁怀檏趂凇貺绘崟蛫倠詿膬冃翽皟焇蘟繺俐嗢埁繾常嶃蘩耣幀栏丁数葩八跿跴巿跿廿跿譟跿跕跿跽跿跿枋滱谐一一丆桁捈灹戕欅摁捐捅嬢俬琀一伦執恢淆栌购凡檀一么烁廑刀乌烊剓嗙瑁滏胐谗瀀一劈稗謐一勈竡宅跃虎瘀一慡浠谓笀一劘嗸伀刀仸薀一专嚞櫇萱縺嬐舀亅縃蛮訄一婿苈痚蠁一下爈一丐暜伔翉蠨绐丁嚃谿绸慜伀丒暜弥燆怚樉媑垒怰沂伐俰灰樞牿俸亀檈艳匀一丂畡侍企瘼凾凸佃虱訄一怣廛刄一怘繈匠俈跸嘼稛眇乀丄瀶荈跿跴耧痨权帀倗丏潖帐丁媋歪勘旘嶈愀帀伔翭析昳誴嶄喿跿謢嬵元渀伲埿蠼廀丁垉翓晟訾化跿跴瀴诵兀与瑨一专晞菔楈煍淠舀乌灹貌戰一恢橔瀗丏漆縐丂跾一丄耧賨窃一僿贀一勈痻皥儀丄耴荚刄丄瀴歃刀一詼亾乀一僫諿净勈痝媉衺噐縀么潰仸恰一专嚟氧呈灶禓漤怀蠈乐丁噣訮渐一么灷苈痧癝儀丄瀗乵簒囓萰嬀为呀縀仫朠訰熬嚃胁岰小儊滰羋跸一专嚟覠漌一姿言一愢淮湐娀专囒蓤崀专嚞欒埶愢沨畧皹伀丄澏纺乀一伲埯愢涞燘夀丒噜俒杌灹苈痛盲僀丄瀇劘一丅笅橁敐揤卽毃怣懛爰一衝跿跽嚍嵃绐七睫跿跴瀴講兀与獿跿跒囓蔬娀为挿跿赟跿践燻跿搿緿譫跿跖緿跽狿跿葢蘼涄一一丁璐捒嚞挅敁掐捔卑慈湻垀一么灼芘痱璃巋廸斌一丒嚰捴尀专嚲演翿枠膲舾叽一丄瀬华冀丄耬繍潽滸帔伀专晟訾刈乀丄琇贁丄一谷褀一勈疜翶婰岂嘬一潰仸蘜倀丌淴耧貺乀一僤倀一刘甁匱聺嵀瘀么滾巰谓稁一劈甍劉豰涑贇眝开涘産俸仠谟溧侃繄愜倀觾凥娄瀴詃怀樄性谩羓囒捴尐专嚞妡猈一劆巂蠁一丄耧界灼沉嘨一怡樀谑漁一劈畽媉趺嚠瘀仩敀帀伢宵怿跿謲埧蠦溠丂叀凡掀刀乌烟梄萗贏瀒縐丁匱襙瘳窴嶄仿跿謢嬵廂縀伢域蠉纠丁垉羓晟显叻趿跴瀴謫僀与爀伀专晞菔楈煍慀稀乌灹貏稤一恢橔瀗丏漄渐丁媉觺尐爀乌灻臟蘀一歁貍嘤一裁沀舨一愣懗縴一愣恘戴帀凇艀丂谁一下瘀丐专嚟謲埩蠭庐丁嚉绡殰谒戀一勈疿皐偀丈巠譵廓嚞趢儉一噜俑佈灶抌善湈粀一一伀一劀啅噣苐橠幜讍擀犌嗤湁瀁仾穡琮凇虀一一七翴丂埇愢泮瀰圀专嚟谧汌灸禑刀尀蠁买丁噣訮渐一乌灹苈症瘱偀丄瀗丏潖巿跽嚍嵗亠七瘴偀丄瀇劘一丅笅橁敐揤卽毃怣懞訤一裸劈苵嘊一岽欢嬽揂渀冯屈煏庠瘀仫罙滱謐一捒嚞挢凬划囗旂贆一与炘嘀丒妍竒蓗溷澴嬣蕭谒咔藃瘃一劈畁囁蠏芌嗨恈煁两渇噈滱伅蔍琮凇虀一一丙眅挢埥幕舕杍嚃褆嘿訐嶅蓀一伢埳怣敝烼吀一岄戠一愢藝漲奵蘒嚴娠嶾帀昿澐嶄猀一倏虥歃抈篬幈烜美渻裿跒嚴婡璃尋敆笢孵萯繠一仨亂一伢奍萓傟猢蛛嬭筸奸楃怽蓞伢埐怰沃謣俺劒囓縉嚺坲芒濴濤紓嚟伣藪怢欄焇瘿怰涡圠係怀歴澧翨什丄渇豈煏殠爀丱縺屰樀丱縒嘼幡楁斐揵蔍嚋泄劈篌曨姿巿謢奃吙瘳溴嶅楿跿趯摈煏彐爀仨篁縀伢嬽娂帀冢礇一劈苴紉一岉訜一怣懒蘤一蠤繰丁嚍嵒源七皇俀七嗿瘾俀三偂庐爤圉偂庐爒暝嬡燆愚欉媑垒恰沢伄俲弢欌喠流繾渤切偆煁子一一彊樤場刖滰巸巠卷垒囐蒴刀丒吰怅嘁耿谄吏嘆裄刘崀囫傐昼渓礄幠言睕嚉蝐捴卙佔拐帟堏哹凢什刀乌曽犘茸佈滾幫蘜一丐榐樀一愃苼猦凁跒妹媑垒園朢弲埈怽谴犧彉艺抐啅埁血犘崄佉滾幇圭嚃豁犀謿罈滱練瀧繈诸节留囑覒丝朣修互囐懔一一劂痁嘁谒嘼両娹萃虫瘄一恣幏嬢净倒冟渾咩乀七啈翀恮帀一一丿致瓼一一巳言义紀勠伸乎专瑠詾刀一一传崸訍佴瀧腈繺縤纇奈灼抌喤剌噾技略嚉諒娞稚俣一巳謠埋繻溈喛贿一劀畹威螒廳燄苃怠言匢凂俓冟基翫伌樃啉厅芃虁刄一凭滁欢城怰泠圢凡仒娞刹嘉詐昿瘄嶄芀一传嶾攅縔瀧汈繹湨喘丿一劀甹嚃蛀芌喌扈灶技病侃貀滸悐一丒任蝰攂怢毤焇琌湹渀丼么偳犈嶌嵈繸翄瀧杈偼战巨兴沒任蝰攃怢毤焇琔湹渀一嵈偳犈嶌嵈繸耤瀧杈偼战巨剴戒任蝰攄怢毤瀇瓀一丄焇琚怂櫤瀏焿怰氲眢埙怂洔吏蠅欉技賹戗佒嚝朢俦縀一伣俦嚒亜蜢凢巒娞囁嘉誒嚝匢衎专渄蘁尀怀檤琤拃恘訄唙刃趏托潐凿弢樅笅橁斐揵蔗虷结嚜漢几贒囕凱嚉艒娞爉嚃繀暜簏焁怡欠谓蠁一妠刀一怊檤渇案滰緼旵紅濁渀仇蓅赛给舘一缸痕牖舆一婎埵朝竁渀儓災摉椠昀仄蚟排蓄吀丱尧荤莰侀丌徉譙八繠七剢浖幚蘘一枋滱谐一一一詽一缸涖觿勢浖淼攗拸缐惗楋剢祤心舀一丱吢戃忄繉攽嘋匥蓶穌創臒伱忝綏剁坺诌愄歳芁穑蕯狄繋攽嘣匭蓵橄剷秒缐恞絋匭茵穆嚴仑缐旧詓臄繑歏甑伭殴穆墶弜嵀一七勢址嶜撵臗亱惝絋厥櫵繌抗槛缐惞絏厥櫵繬抗槜罱攽樣叅蓿橚斯跅祺跼攗拾缸牐凧勁涟藏媁嚃羂婌号拀怠訠嘾匫跿跴瀴担一一伢叛凡坐一仄虾擬贓災摲機敓仅譝窜憋莑匁帀一仅赛織昔一缸瓐儣叭櫴帬憉譙啔繐七叭蓴詞描弄缸痕犕圅一婞敯櫅襺謼斕臑侱尧荤猻佀丌斗槜罽攽刣勢浖恓刔一罽殼脗珫聱泞紧勢浖归帔一罽歌礓灵丰婌叹贄諒傜圤蟁凡戯臿跩籿巿贗譯佧乀一翶怣彌戀一丒噝稾匿跿跾絈崟业嶿跽櫻跿菏緿赢賿跶姯跿榾跿讘簏嗡一一一枤劆崙匱縠嗀淸譵嵑任蜐嗿幣戏谏蘅毋犈舷漁一劆娒佈乲巾倏哺裆昼槣礔滱緄哠伀一岰琏哶幮习一乕怢汔卝佖幕戕彎埰繾俼喠欁訢樜嗤冃蘾傜漊嬌丠訟琗圏瀢渀丁婣聑愞弦蠀耿穿褟資恮縀一一丿巴瓸一一巏言义緀丌凼崀一剓喴崟开丄瘼蛰唻芘苒案灼拂啥嚉諓借嬢嬌瑒嚟嬣俣伓借笠埋怰池标琀跏縄渧汊凎崓庉垃罀折崐啍屳嗫猐俀彡樇扟矴一丄拇筅婹剀唁厅縃虎嘀一悢臎谵嶲繺廨嶄再儮昜唣賿跐皀纉侃谀廸惸一丒囘賋趱跢櫬喸咁螿一丂埋繺罈嶌儉諐皅纈佁滾丠谒愀一嚜複簌湹紀一仁衇亟匊噌嚀爘巠兴氒妻姾翿穿跿謠俻灷稞虒俦言一伢埙怰沒堏漏偼戨漰瀃幠趀忑坈灶抌喤梁虰一丁囁裊瘾嫼埋庢参嘑侃谁敂漢螲跬添嗾翿怀櫴瀧蝈繺怨喇一一劌喼纃蟏纜謊噼嚁掴危佝幗爕護冐媿緿誣賿跊巯跼篾跿胟觿贽趿跿誔调一已挀儀丿联嘌一跉所娀仿坑渰七败怀縀凼獊什丏誕娃一已挸儀丿聕丌一跉挠娀仿坕丰七败掀縀凼獘什丏誕栃一已捰儀专囑蓴倀丐挿誗嬂一圆渀一为汯跿赨區一冧櫿跿蒂刀一衴緿跽瘮一与産跿跚冰一仩綿跿计嘀一岛懿跿栕帀七瞪跿跶澌一为栏跿赨槀一冦擿跿蒇舀一衣巿跽皉一与琋跿跚坰一仩氿跿订猀一岖觿跿栬渀七睤跿跶焄一为掯跿赨莀一冥廿跿艶提湦桛呒俍睺杈呗埉絲岈万殈乆槜呖蚁絵欜啗庁瑩椙怆揉聯檎瀀俉瀀徛蔆掸湩榜啗庁瑩椙怆揉聯檎瀀佝聩欙怆枥穥嘙攧垽耺嘀勷侕簠桛甇提湦桛呒侕聲槜熢丁孡樈咖蟁荴嘙璖羔湥檜瓷囨渀捜萖殔蠠奖著羑欠崚擧俕艦桛呓蚀詯歝唇揑瑩椙懠两筥嘙擦宽牥丂惖庁牥曛葆戀圼桛甇揑瑩椙懢亁繡櫜耂芁良嘜瑖厐湦檛蓒俍艤桛渀狱絵欜啗徙睬杏瀇侅腳嘋怇徼湷檚敆抁良嘜蕆徽荴东蔆掹爠欚擖拨渥椝擗娨一一一一一一一樀一一一丸一一一一挀一一一万侁幀娈伀凃滐縬堉倁繠成儂乀仰蘴娋傂庀一一一巳言一丿臰一一跏縀一仿巀一一一专渄蘁尀憇一一一一冀一一一一刀一唀一丈一三一一一一偀一丂一一一丁艖乐喀嬀丏一一言一寑縀一一七縀一什一丰丆三一嘀一一崀一佀侀三丘七舁縀妀娀乄庰帅漁什帀一一一一一一一一一一一一一一一一一乌啀一刀一掇帀丄一丘俐一伀一咡舀丁一万年一乀一俸欀一帀丂嘝一丐一互啀一刀一甇帀丄一丩濐一伀一夁舀丁一下癴一乀一儐欀一帀七尝一丐一付啀一刀一蚇帀丄一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一丁劈湠刀一久也旗蔷徑睮樀北嘢幀旗菷寑牯歝唀偁乤汛呅词艵暗萦玹牥檀圇嚀彀旘蓆讍祟柙敇徥筥两万嚠彀旙斆珐亐东焁匁浦柙敆娂帀檎伔佽瑯標擠偀乲帄戅讙繵欘縉丁聈剐叶柉獡最圀俉帑帗葧毉睴杀圀俉昑帗蓖莅縀爀唦久也楝擦莅縀爀唦湅也槜呖蘂帀檜伔佽繥檜瓷嘂帀檞伔佽繲桛畆昂帀檠丑匁浰歝唰偀乲瀀弔佽聥毚擦市帀檤丑匁浳欘敂弥屏弑慣市帀檦丑匁浵榙著後亐一一一佟丁帀捽筨旙斆掍荴杗蒆掅牥檀冶掹焀巙呖威畧杝号寑潲欗蓗娂栁楘撖蘂洁亀一一偯朙帄羉荦丬縐三洀挀塀刀偬杛渆垙睬杀圀刌仠哀一垽牥丝吧掘亮乀严訁言础帀垱獮丢縖枥穥严帐娃渜一縍乴七丠倰丌亠堀丰净瘀什夂稀儀縍帀娂湁丁下儅一一一一一蘆蘀参縅瘁挌上帊一剀蘀丘丁上縸一吀乀佰开丆一市樚一侀丐仄唀丁渀刀亀一丼伐一一一伀一你一丏傀上亀一乀一乸一七縐七业一丐一並一一訄一渄帀丄一丌縀一崁一吀蘀丁一七言一凂渀僀渐一帀丁唀一仰刀亰區一刀一懀一丼伀临仠一伀一叀一丏乀与临一乀一侠一七縐一渔一丐一乶一一訄一樅一丄一丟一一伀一帀一一一丈昀一乀一刀一一一丂开一丐一伀一一一一瘀一丄一乀一一一一塠一丁一丐一一一一傴一一帀丄一一一一亴一一刀丁一一一一丮縀一伀一帀一一一丌嘀一乀一刀一一一七堀一丐一伀一一一一舀一丄一乀一一一一宀一丁一丐一一一一典一一帀丄一一一一仦一一刀丁一一一一主渀一伀一帀一一一丏帀一乀一刀一一一七言一丐一伀一一一一傀帀丄一乀一一一一传刀丁一丐一一一一临一七渀一崀一伀一丑一丁嘀一勀一乐一丅帀一搀一佰一丘一丁爀一咀一乬一万一一一丐亰一丌一丁舀一兀一丸一七縀一帀一伐一丒一丁娀一匀一乔一丅渀一攀一侀一丙一丁瘀一哀一买一丈丅譽筨旙斆掍荴杗蒆掅牥檀叶徕煢歙清讑獣槙呐佽牥曛葆捽瑩椙帅讑獣槙呕讱獮丗葖融灵枀叶掹煯朙帅讕籣槙呕讙睬杀叶掹煯朙揶羕簀旙著彽腴晜畅讵脀旛搖玸也旗蔷徑睮樀叵譽腴望蕗忀也曛哶宭浧杝商玵猀旙斆珐也枙著後也枛蔆掸也果啗後也果瑖厐也枝蔦珑猀旛擖叀也楝擦莅縀旛蔆掸也標攧垽耀旜唦玹艦丗蔇揑脀旜瑗殥籤丗蔷待舤恓狴弔萴丗蕖螝獴曀呇玱牟櫝啖坽灩榙呗嘀一一一㴃 - - -- fumiama Sat, 23 Apr 2022 00:05:36 +0800 diff --git a/debian/base16384-docs.docs b/debian/base16384-docs.docs deleted file mode 100644 index e845566..0000000 --- a/debian/base16384-docs.docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index 6d35728..0000000 --- a/debian/changelog +++ /dev/null @@ -1,5 +0,0 @@ -base16384 (2.2.0-1) unstable; urgency=medium - - * Fix some issues in packaging. Closes: #1010055 (ITP). - - -- fumiama Wed, 27 Apr 2022 09:55:33 +0800 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index f599e28..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/debian/control b/debian/control deleted file mode 100644 index a1adace..0000000 --- a/debian/control +++ /dev/null @@ -1,20 +0,0 @@ -Source: base16384 -Section: utils -Priority: optional -Maintainer: fumiama -Build-Depends: debhelper (>= 9), cmake (>= 3) -Rules-Requires-Root: no -Standards-Version: 4.4.1 -Homepage: https://github.com/fumiama/base16384 -Vcs-Browser: https://salsa.debian.org/debian/base16384 -Vcs-Git: https://salsa.debian.org/debian/base16384.git - -Package: base16384 -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Encode binary files to printable utf16be - There are 16384 Chinese characters (from \u4E00 to \u8DFF) - being selected as the "alphabet", just like what base64 did. - If length of the data has a remainder after mod 7, - an unicode Chinese character \u3Dxx will be appended to present it - with xx ranging from 01 to 06. diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index 37fcbd4..0000000 --- a/debian/copyright +++ /dev/null @@ -1,30 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: base16384 -Upstream-Contact: fumiama -Source: https://github.com/fumiama/base16384 - -Files: * -Copyright: 2022 fumiama -License: GPL-3.0+ - -Files: debian/* -Copyright: 2022 fumiama -License: GPL-3.0+ - -License: GPL-3.0+ - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - . - This package is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - . - You should have received a copy of the GNU General Public License - along with this program. If not, see . - . - On Debian systems, the complete text of the GNU General - Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". - diff --git a/debian/rules b/debian/rules deleted file mode 100755 index cbe925d..0000000 --- a/debian/rules +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/make -f -%: - dh $@ diff --git a/debian/source/format b/debian/source/format deleted file mode 100644 index 163aaf8..0000000 --- a/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) From 0a43046c9dd6ba78aff7014c63482ccf26642d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Sun, 1 May 2022 00:07:14 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=20perror=20=E8=BE=93?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base16384.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/base16384.c b/base16384.c index e5052a0..d901dd0 100644 --- a/base16384.c +++ b/base16384.c @@ -34,12 +34,12 @@ static int encode_file(const char* input, const char* output) { fp = stdin; } else inputsize = get_file_size(input); if(inputsize < 0) { - perror("Get file size error: "); + perror("Get file size error"); return 1; } fpo = (*(uint16_t*)output == *(uint16_t*)"-")?stdout:fopen(output, "wb"); if(!fpo) { - perror("Fopen output file error: "); + perror("Fopen output file error"); return 2; } if(!inputsize || inputsize > BUFSIZ*1024) { // stdin or big file, use encbuf & fread @@ -49,7 +49,7 @@ static int encode_file(const char* input, const char* output) { #endif if(!fp) fp = fopen(input, "rb"); if(!fp) { - perror("Fopen input file error: "); + perror("Fopen input file error"); return 3; } @@ -60,7 +60,7 @@ static int encode_file(const char* input, const char* output) { while((cnt = fread(encbuf, sizeof(char), inputsize, fp))) { int n = encode(encbuf, cnt, decbuf, outputsize); if(fwrite(decbuf, n, 1, fpo) <= 0) { - perror("Write file error: "); + perror("Write file error"); return 4; } } @@ -72,12 +72,12 @@ static int encode_file(const char* input, const char* output) { } else { // small file, use mmap & fwrite int fd = open(input, O_RDONLY); if(fd <= 0) { - perror("Open input file error: "); + perror("Open input file error"); return 5; } char *input_file = mmap(NULL, (size_t)inputsize, PROT_READ, MAP_PRIVATE, fd, 0); if(input_file == MAP_FAILED) { - perror("Map input file error: "); + perror("Map input file error"); return 6; } int outputsize = encode_len(inputsize)+16; @@ -85,7 +85,7 @@ static int encode_file(const char* input, const char* output) { fputc(0xFF, fpo); int n = encode(input_file, (int)inputsize, decbuf, outputsize); if(fwrite(decbuf, n, 1, fpo) <= 0) { - perror("Write file error: "); + perror("Write file error"); return 7; } munmap(input_file, (size_t)inputsize); @@ -122,12 +122,12 @@ static int decode_file(const char* input, const char* output) { fp = stdin; } else inputsize = get_file_size(input); if(inputsize < 0) { - perror("Get file size error: "); + perror("Get file size error"); return 1; } fpo = (*(uint16_t*)output == *(uint16_t*)"-")?stdout:fopen(output, "wb"); if(!fpo) { - perror("Fopen output file error: "); + perror("Fopen output file error"); return 2; } if(!inputsize || inputsize > BUFSIZ*1024) { // stdin or big file, use decbuf & fread @@ -137,7 +137,7 @@ static int decode_file(const char* input, const char* output) { #endif if(!fp) fp = fopen(input, "rb"); if(!fp) { - perror("Fopen input file error: "); + perror("Fopen input file error"); return 3; } int outputsize = decode_len(inputsize, 0)+16; @@ -150,7 +150,7 @@ static int decode_file(const char* input, const char* output) { decbuf[cnt++] = end; } if(fwrite(encbuf, decode(decbuf, cnt, encbuf, outputsize), 1, fpo) <= 0) { - perror("Write file error: "); + perror("Write file error"); return 4; } } @@ -162,18 +162,18 @@ static int decode_file(const char* input, const char* output) { } else { // small file, use mmap & fwrite int fd = open(input, O_RDONLY); if(fd <= 0) { - perror("Open input file error: "); + perror("Open input file error"); return 5; } char *input_file = mmap(NULL, (size_t)inputsize, PROT_READ, MAP_PRIVATE, fd, 0); if(input_file == MAP_FAILED) { - perror("Map input file error: "); + perror("Map input file error"); return 6; } int outputsize = decode_len(inputsize, 0)+16; int off = skip_offset(input_file); if(fwrite(encbuf, decode(input_file+off, inputsize-off, encbuf, outputsize), 1, fpo) <= 0) { - perror("Write file error: "); + perror("Write file error"); return 7; } munmap(input_file, (size_t)inputsize); From 70a5125e48105ffde1dbfdc8483709f72dfb4a8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Fri, 3 Jun 2022 11:38:44 +0800 Subject: [PATCH 3/5] fix: man page copyright #3 --- base16384.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base16384.1 b/base16384.1 index 64aedfc..394876c 100644 --- a/base16384.1 +++ b/base16384.1 @@ -68,7 +68,7 @@ on github. .SH AUTHOR This manual page contributed by fumiama. .SH "COPYRIGHT" -Copyright \(co 1992-1993, 1996-2022 Free Software Foundation, Inc. +Copyright \(co 2022, Fumiama Minamoto This file is part of .IR "base16384" . .LP From 4347a3f811fd69392dc9044c02a2e82f44f5d2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Fri, 3 Jun 2022 11:47:19 +0800 Subject: [PATCH 4/5] remove trad_ver --- traditional_ver/Makefile | 13 ----- traditional_ver/README.md | 22 --------- traditional_ver/base16384.c | 99 ------------------------------------- traditional_ver/bitio.c | 36 -------------- traditional_ver/bitio.h | 27 ---------- 5 files changed, 197 deletions(-) delete mode 100644 traditional_ver/Makefile delete mode 100644 traditional_ver/README.md delete mode 100644 traditional_ver/base16384.c delete mode 100644 traditional_ver/bitio.c delete mode 100644 traditional_ver/bitio.h diff --git a/traditional_ver/Makefile b/traditional_ver/Makefile deleted file mode 100644 index 2cfd29d..0000000 --- a/traditional_ver/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -all: base14.o bitio.o dir - gcc -o build/base16384 build/base14.o build/bitio.o -O3 -bitio.o: bitio.c dir - gcc -o build/bitio.o -c bitio.c -O3 -base14.o: base16384.c dir - gcc -o build/base14.o -c base16384.c -O3 -dir: - if [ ! -d "build" ]; then mkdir build; fi -clean: - if [ -d "build" ]; then rm -rf build; fi -install: - cp build/base16384 /usr/local/bin/ - chmod +x /usr/local/bin/base16384 \ No newline at end of file diff --git a/traditional_ver/README.md b/traditional_ver/README.md deleted file mode 100644 index 84f899b..0000000 --- a/traditional_ver/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# base16384 -Encode binary file to readable utf16be. - -# Description 说明 -Use 16384 Chinene characters (from \u4E00 to \u8DFF) as the "alphabet", just like what base64 did. - -使用16384个汉字作为字符表,就像base64用64个字符作为字符表一样。 - -If length of the data has a remainder after moduled by 7, we will use \u3Dxx to log it with xx ranging from 01 to 06. - -另外,使用\u3Dxx附加在末尾以表示编码时数据不满7位的个数,其范围在01~06。 - -# Benefits 优点 -Save more space and since the code 0x0000 is encoded to "一", finding zero space seems to be easier.
-节省更多空间。
-更容易发现二进制文件的规律。 - -# Examples 用例 -The text below is the encoding of the base16384.exe itself(MacOS Mojave version). It is clear to see the strucutre of the binary file.
-下面的文本是使用base16384程序编码自身(MacOS Mojave版本)的结果。可见文件结构十分清晰。
-
-臾糟蘜一乀縀倀倀一仰一亰佀丈戀渀一一乤一丒一丁浟成扴捩卒懀一一一一一一一一一一伀一一一一一一一一一一一一一一一一一一一丙一丂済一旗荄捡戀一一一一一一一丁一一乀一一一一一一一一丐一一一丅一一戀一侀一一一丗菷徕虴一一一一一丅譽扅搕一一一一一丂丆一丐一不倀一一一渁渀丐一一一一一一一市一一一一一一一佽浳欝搧娀一一一一也旕剕潐一一一一一丣滠一伀一净一一一丈蘸一乀一一一一一一嘄丠一一丆一一一一旗蔷忕灟栙擇侕耀一叵譑単挀一一一一一儰尀一帀丁舀一一一仌冀一嘀一一一一一一乀倀一一一一一一丅譽煳欜璖螜一一一丁浟挑掅帀一一一一一布縀丄一世一一一一刀言一一一一一一一丈一一一一一一一一也旘蓶蟍舀一一一一丗菵引晔一一一一一三渼一乀一东一一一丂昏一一一一一一一一一一一一一一一一一叵试籷桛瑅讥籦槀一佽浔彖區一一一一一亠净一刀一攀一一一丨仰一倀一一一一一一一一一一一一一一一最一嚀刀也旑刕弄一一一一一一伀一伀一丁一一一一乀一一一一帀一一一儀一丰一丄一一一一旗蓦罽腹楘瓶罽繴檀叵謑佔幀一一一一一一帀一帀一嘀一一一一刀一娀一一一一一丁渀一堀一一一一一丅譽畯欀一一一一一丁浟弐捄刀一一一一一倄一丄一丄一一一一亁一七一一一一一一丘一丂縀一一一一一也旛吕词蝭暛蓅证色丗菴弅扁一一一一一丁湀一乀一佀一一一一昐一丰一一一一一一俀一临一一一一一一叵讍絭楛蓠一一一一佽浄幕刐一一一一一买刀一刀一倂一一一一一一刀一一一一一一刀一一一一一一一一最一劀一也旓劔蜭卄恕一一一一倀一伀一丁一一一一亀一一一兰儀一一一伀一丐一一一一一一嚀丈什一一倀一嘀一亂一丨一一一一一一什渀丢一丂蘠一圀一丂一丁渀一搈帀乘一丅倰七嘀一亰一乐一一一一乀一丄一丂帀一堀一什一一一一一一一一一一一一一一一如嘀丗一一一一一一一一一一一尀一倀一丌一丂试腲姛咖嚽特椙一一一一侰一丘一丅趁蓝愣膔衟厃撔聯穈耀一倀一丁一一丸堀七溠丄一一縀一一劀炠一丐一一一一一一亠一渆一丂丆一一一一一一一一儀一仠一丆一一倀一丟禐刀一市试腲姛咖嚽穩暔薗寑獭妐烦忥穩暀一一一垀一乀一丒倐一帀一傐一丐一丅溄一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一丁捈灹戕欅摁捐捅嬢凬吠跰帾匃侀丄琧葈烟漄瀴菠倀与燤唀丒嚜嬦奾吒囓敀嘀为屠樀么潶绸惐匀丒暜弢叀凡墀戀义烑満賹丁滾呄瀥毈凡咠嘀亃谙廸揤匀丯跠一乌灹粊縜一緿縀丁媉螺埰樀么煏揀爀亾乀一僫调一劈畧皒俀丈攀嶄揁一伢嬝巃帀侘簏嗡一一一爒嚜匢坅舡樀谺搁一劈笗幄煍婐一一彌淶桃蒃丁一丼嶅绀一伢域婽粆爔一滾巷挰翀枤嘀帍岀开縤蠁刃伓瘄希呎怠言漠謀伀万妆谁一下瘀刀丒嚝謲埡蠂湰七喃丁一一一丒嚝談蓨吁帀伢域婽粀蘔一滾巷捤翀凇蘀一一渁临蠁刃亓瘄希剎渑丰朹嚃縂劃舀刀东簛蘄一丮渀帀么灷苈疇皪侀丌氌丄一一一么灷脟榢蘄一仱谐一一丄性虈繺临瀴嬲倀一賘刁弢涘冄啁絠一丁俓襐怜挢域弢泮瀄刀丠趏诐橁跱艓痜嶌訿緿趭腦妃翸帀一一仱謀丱縙烠詾刀一一丼浀丠乀嬺乄什狨伐億憠剀娙屈滰亄滴丄一售哸伀一妠丐一怢毴耧濨貁帀儞儀伀一一一怢毴性糨俁一伇跇彎浰谱觾跿觠刀一粿渰丁嚍嵞湰丁嚋慲岋爔一潰仸拧賿跒嚴敁嚉繒吼匱矰狉劙圧修嘐帜蜒埰繺俴唇谂幀橤場勵一一伄矆幀櫤瀴欳僀丈簌丄一噜举华亀与牠儀专嚖敁媍坄幰丂谁一下瘀刀专嚞欢埙蠑乐丂叀凡姰刀乌煋洐瘀么灰河瀧啈灷粃嘔一彌淴吀訤趐廹愝俁蟁创蘀渀丐浬樼嶅覀一冧崀一呠詾刀一一伒嬴罀一丁囁虈劋瘀一丿緿跽嚍匄抌嗨湁渏佃菔襈簀一七跿跿芀唅囁豈刐賘刌滸乴瀴宓佀一賘刈幠詯伄矆裓瑢蘼涄一一一崟帀凐丐一歎抈畿癫伀丈攀嶅擿跿謢域蠘幀丂凸嵃虔凿跿怢毾潀刀丠谀欢嬍嶁帀举萄债裔拇赁渏偏蜄嶔翐樞樑匹诃蛙蘀一凇蘀一一幽穰诔桄灾娟湿俨啑丟焇蘃怦刘丐劲幠詰園埸繾俼喠歄乾娟渍嚘幃襠帑劉豠尐泮一一嬾窇兌灻蚝覠异一嘿燽舌广詴拧蕼眺膖桂谁一下瘀刀专嚞謢奍舺媀娀乁翡帀帀一一丄耧綉薺子刀乁跱艓痜嶌桿跿賸伀一妠丐一愢汴瀭毈怢殞瀠儀丒嚜吗丏潡淯跽嚍佌源丂妀丁一倗么烓欀谐昁一嚜栏琇灰稟癿俪啀樬嗨冃趀昽秽噣芒囓藸嘀丯渐一仨嶀縀冧甀一剓嗙嚍啹庀丂妃丁一倗丏漳縀丂埁游幻瘃跿跴趨甇俹嗰沑與俁豀芆崄渔仢蘰丐一滾嶗舾埁繾忼喤欁繰涐嶬笱芃翸帀一一嘀幍屈滰渨簌丄一嚜唇蜟繺忐唇俹仒吿匠蟲涷显丞凸习讟謡燑綀帀丁嚉藓嚞喢洂一嚸娀刀丌檚渜嶕繢樬嗨淁袇帜备砃乴浬刅舐婿苈疛癢亀丈簌丄一墀诐暿嵀一伲埦蠒縠丁劉诓嚞榡丂一儜伢凄吖舕缅歁斐揵蔍嚋佡丰丁嚋娒囓舀儀为俰嘀亿乀一冣蔁一劈穵爃一劈竍嚍嵤渠七盿乀丄瀬腈煏桰嘀仨言帀伢夳怣懚瘈一蠸帐丂贁一与烤伀两圉偂幕怢汘籜丄一妏跿跿湾緱言乿忢欘嶄喅讝俋瀀一临貈畇俹嗰沑與忁豀芆崤嘄出羫濿跿跴趈畇俹嗰沑與忁豀芆崤渄凿虰丐一灼叜孕嚉蝐捥嬦埶怢涻蘐刀为兰刀亾乀一僨丄一劈畽媉詺勀刀争滀乀丂叀欉苈痟瘜乀丈甅噣狀乀丂嬄荀一丂叉欃廻蜰懿煑亏喬倱縢昰丐一擐揥蔍琏嗑一何嚉蝮巿跿费珀乀丁豇灴显刞叶欇妈一一苺嚝唇蜟繺忐啇俹仒吼爠刏裆禇跿跿苾嚝唇蜟繺忐啇俹仒吼犀刏跡縀帀争託樶昼浄一協瀧玸跿跿諦蔀伀万蚊埰繾俼喠欁訰涀嬢昏綅乴倃琇簠一丂埱苺倝佷兦妃翸帀一一圅挢埥烣縀帀亸跿跿謢俹跇縀俜熍广蚘樀刀丢檌喠儥跇縀举谔俠尐波一一嬾溇幝绤已搐伀丿聘昄一跉暀刀仿坢渐七败焀帀凼玎乀丏誖币一已摈伀丿聙帄一跉杠刀一专囑芴伀丐挿誔茁一圆渀一为汯跿赨净一冧櫿跿蒁稀一衴緿跽瘧一与産跿跚兀一仩綿跿计伀一岛懿跿栓渀七瞪跿跶潬一为栏跿赨栀一冦擿跿蒇昀一衣巿跽捳晙葓皀筛束呅芁睮樝敆枥穥嘛蕗忁荴枚擆戨丠嘈倂亀渭杈呖融絤杂渂亀渠嘈倂莐湤杘蓶徔堀檘渇殈义懈呗埉絲噀一昰刊亂一刀一唀一丄一丈一一一一倀一丂一一一丁渁渀仠一与一丂導一一一丸一一娀一儀乀买丂一一三渆一娀昀估俀丂刀倁艖乐刀一一一一一一一一一一一一一一一兰尀一帀七琎一丐一仰冀一刀一貃渀丄一丁仰一伀一仠言丁一丁渼一乀一予崀一帀一稏一丐一丶净一刀一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一伒噡栀一丁匁浟旜蕆徕聲樀北嘢幀朞擆彽腴歘珶垥籤杜渉一一东澁匁浟旘疦揉紀爀唢久也杞咗市帀檊伔佽瑥槙渉丁耰剐叶枝獴曀圀俈蘑帗葦证獮两万圀彀旙甇揑焀爀唤湅也果啗忌亐东猁匁浦檙搖市帀檖伔佽瑷檚敆戂帀檘伔佽荮柙敆娂帀一一一佟丁帀潽筨旙斆掍荴杗蒆掅牥檀化莅睮丕攀佩瑰歜蒆垥舀樘蒆厹略暚敀俕聥晙否珐乺暝摠倐佯歝吧掘争乀渀一儀渃帀三荳栘璗币祯樘璗币贃丸侐丌什咀丰僀椀什圁縀儀與一娃縠一縏庠一丠仞丱湰昐一一一一下縀一冁帀偠崀一帀一倀一仰剀一一一刀一厀一丼堀东伀一伀一侰一丏乀下临一乀一亘一七縐丁不一丐一丰一一訄一渁渀丄一不渀一崊一啁帀丁一七蘀一净帀佀尀一帀丁吀一仰刀仠儀一刀一懀一丼伀丄仠一伀一厀一丁一丐一一一一侄一一帀丄一一一一乬一一刀丁一一一一东渀一伀一帀一一一万渀一乀一刀一一一丁贀一丐一伀一一一一澀一丄一乀一一一一囐一丁一丐一一一一偐一一帀丄一一一一些一一刀丁一一一一丨縀一伀一帀一一一上稀一乀一刀一一一一堀一什一不一一蘀一净一乀一丄帀一怀一估一且一一一乀僀一乔一丂渀一娀一仐一与一一言一刀一乄一丄渀一愀一佀一丠丗菶莡浥氙搷揑獟栙搖徕耀旘畖昁浣栘擦殕灩欀叶柁荳栘璗币浭晚擠佽絵欘畖昁浰槜否珐也樝收澉睴丗蔦掅牢桝丅譽浢沙攦訁浟旜蕆徕聲樀叶握睴丗葦掽琀旙瑶揑焀旙瓷侕簀旙甇揑焀旙甇揑脀旙甦掅爀旙畷垥艥丗蕖螝獴曀呇玱牟櫝啖坽灩榙呗嘁浭晜一一一一一㴃 \ No newline at end of file diff --git a/traditional_ver/base16384.c b/traditional_ver/base16384.c deleted file mode 100644 index 687226b..0000000 --- a/traditional_ver/base16384.c +++ /dev/null @@ -1,99 +0,0 @@ -//base16384.c -//MIT fumiama 20200416 -#include -#include -#include "bitio.h" - -#define HEAD 0x4E -BIT outbuf; -unsigned char buf[BUFSIZ/8*8+2]; - -static void push(int istrue, FILE *fpo, int offset){ - if(!~pushbit(&outbuf, istrue)){ - if(offset) for(int i = 0; i < BITBUFSIZE; i += 2) outbuf.b[i] += offset; - fwrite(outbuf.b, sizeof(char), BITBUFSIZE, fpo); - outbuf.p = 0; - pushbit(&outbuf, istrue); - } -} - -static void encode(FILE *fp, FILE *fpo){ - int cnt, prevcnt; - - fputc(0xFE, fpo); - fputc(0xFF, fpo); - while((cnt = fread(buf, sizeof(char), BUFSIZ/7*7, fp))){ - prevcnt = cnt; - for(int i = 0; i < cnt * 8; i++){ - if(!(outbuf.p % 16)){ - push(0, fpo, HEAD); - push(0, fpo, HEAD); - } - push(buf[i / 8] & (128u >> (i % 8)), fpo, HEAD); - } - } - if(outbuf.p){ - outbuf.b[outbuf.p / 8] &= ~(255u >> outbuf.p % 8); - for(int i = 0; i < outbuf.p / 8 + 1; i += 2) outbuf.b[i] += HEAD; - fwrite(outbuf.b, sizeof(char), (outbuf.p % 8)?outbuf.p / 8 + 1:outbuf.p / 8 , fpo); - if(((outbuf.p % 8)?outbuf.p / 8 + 1:outbuf.p / 8) % 2) fputc(0, fpo); - if(outbuf.p % 16) { - fputc('=', fpo); - fputc(prevcnt%7, fpo); - } - } -} - -static uint8_t map[] = {0, 6, 12, 4, 10, 2, 8}; - -static void decode(FILE *fp, FILE *fpo){ - int cnt; - int cnt8; - while((cnt = fread(buf, sizeof(char), BUFSIZ/8*8, fp))){ - cnt8 = cnt * 8; - if(buf[cnt-2] == '=') { - cnt8 -= 2*8 + map[buf[cnt-1]&7]; - } else if(cnt == BUFSIZ && !feof(fp)) { - int ch; - if((ch=fgetc(fp)) != '=') ungetc(ch, fp); - else cnt8 -= map[fgetc(fp)&7]; - } - for(int i = ((buf[0] == 0xFE)?16:0); i < cnt8; i++){ - if(!(i % 16)){ - buf[i / 8] -= HEAD; - i += 2; - } - push(buf[i / 8] & (128u >> (i % 8)), fpo, 0); - } - } - if(outbuf.p) fwrite(outbuf.b, sizeof(char), (outbuf.p % 8)?outbuf.p / 8 + 1:outbuf.p / 8, fpo); -} - -#define CHOICE argv[1][1] -#define READ argv[2] -#define WRITE argv[3] - -int main(int argc, char **argv){ - FILE *fp = NULL; - FILE *fpo = NULL; - - if(argc != 4){ - fputs("Usage: -[e|d] inputfile outputfile\n", stderr); - fputs(" -e encode\n", stderr); - fputs(" -d decode\n", stderr); - exit(EXIT_FAILURE); - } - - fp = fopen(READ, "rb"); - fpo = fopen(WRITE, "wb"); - if(!fp || !fpo){ - fputs("IO error!", stderr); - exit(EXIT_FAILURE); - } - switch(CHOICE){ - case 'e': encode(fp, fpo); break; - case 'd': decode(fp, fpo); break; - default: break; - } - return 0; -} diff --git a/traditional_ver/bitio.c b/traditional_ver/bitio.c deleted file mode 100644 index 1575e32..0000000 --- a/traditional_ver/bitio.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "bitio.h" - -int pushbit(BIT *buffer, const int isture){ - if(buffer->p >= BITBUFSIZE * 8) return EOF; - else if(isture) buffer->b[buffer->p / 8] |= 128u >> buffer->p % 8; - else buffer->b[buffer->p / 8] &= ~(128u >> buffer->p % 8); - buffer->p++; - return isture; -} - -int fpushbit(BIT *buffer, FILE *fp){ - memset(buffer, 0, sizeof(BIT)); - if((buffer->p = fread(buffer->b, sizeof(char), BITBUFSIZE, fp)) && feof(fp)) - buffer->p = (buffer->p - 2) * 8 + buffer->b[buffer->p - 1] + 1; - else buffer->p *= 8; - return buffer->p; -} - -int changebit(BIT *buffer, const int isture, const int position){ - if(position >= buffer->p) return EOF; - else if(isture) buffer->b[position / 8] |= 128u >> position % 8; - else buffer->b[position / 8] &= ~(128u >> position % 8); - buffer->p++; - return isture; -} - -int readbit(const BIT *buffer, const int position){ - if(position >= buffer->p) return EOF; - else return buffer->b[position / 8] & (128u >> position % 8); -} - -int popbit(BIT *buffer){ - if(buffer->p >= BITBUFSIZE * 8 || buffer->p < 0) return EOF; - buffer->p--; - return buffer->b[(buffer->p+1) / 8] & (128u >> (buffer->p+1) % 8); -} diff --git a/traditional_ver/bitio.h b/traditional_ver/bitio.h deleted file mode 100644 index 1a8ad91..0000000 --- a/traditional_ver/bitio.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _BITIO_H_ -#define _BITIO_H_ -//bitio.h -//made by fumiama -//20200413 -#include -#include -#ifndef BITBUFSIZE -#define BITBUFSIZE 1024 -#endif -struct BIT{ - char b[BITBUFSIZE]; - int p; -}; -typedef struct BIT BIT; - -int pushbit(BIT *buffer, const int isture); - -int fpushbit(BIT *buffer, FILE *fp); - -int changebit(BIT *buffer, const int isture, const int position); - -int readbit(const BIT *buffer, const int position); - -int popbit(BIT *buffer); - -#endif \ No newline at end of file From 9b672ff535a281bba3e336c34c76f584edc46e52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Fri, 3 Jun 2022 11:51:11 +0800 Subject: [PATCH 5/5] add file headers --- base1432.c | 19 +++++++++++++++++-- base1464.c | 19 +++++++++++++++++-- base16384.c | 17 +++++++++++++++++ base16384.h | 18 ++++++++++++++++-- 4 files changed, 67 insertions(+), 6 deletions(-) diff --git a/base1432.c b/base1432.c index d4c9063..44bed16 100644 --- a/base1432.c +++ b/base1432.c @@ -1,5 +1,20 @@ -// base1432.c -// fumiama 20220319 +/* base1432.c + * This file is part of the base16384 distribution (https://github.com/fumiama/base16384). + * Copyright (c) 2022 Fumiama Minamoto. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #ifdef __cosmopolitan // always le # define be16toh(x) bswap_16(x) # define be32toh(x) bswap_32(x) diff --git a/base1464.c b/base1464.c index 7aa180f..d96fbf8 100644 --- a/base1464.c +++ b/base1464.c @@ -1,5 +1,20 @@ -// base1464.c -// fumiama 20211029 +/* base1464.c + * This file is part of the base16384 distribution (https://github.com/fumiama/base16384). + * Copyright (c) 2022 Fumiama Minamoto. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include #include #include diff --git a/base16384.c b/base16384.c index d901dd0..c811527 100644 --- a/base16384.c +++ b/base16384.c @@ -1,3 +1,20 @@ +/* base16384.c + * This file is part of the base16384 distribution (https://github.com/fumiama/base16384). + * Copyright (c) 2022 Fumiama Minamoto. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #ifndef __cosmopolitan #include #include diff --git a/base16384.h b/base16384.h index 45d8e94..2a4469c 100644 --- a/base16384.h +++ b/base16384.h @@ -1,8 +1,22 @@ #ifndef _BASE14_H_ #define _BASE14_H_ -// base14.h -// fumiama 20220319 +/* base16384.h + * This file is part of the base16384 distribution (https://github.com/fumiama/base16384). + * Copyright (c) 2022 Fumiama Minamoto. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ // encode_len calc min buf size to fill encode result int encode_len(int dlen) {