為什么易語(yǔ)言壓縮數(shù)據(jù)反而使其變大了?

很多小伙伴在使用易語(yǔ)言自帶的函數(shù),壓縮數(shù)據(jù)這條命令時(shí)都會(huì)發(fā)現(xiàn),數(shù)據(jù)本身并沒(méi)有變小,而是變大,本次案例中,UP使用"你好"這一句話(huà)作為壓縮,之后本該只有4字節(jié)的數(shù)據(jù),反而變成了20字節(jié),直接大了五倍,然后UP想到是不是因?yàn)橹杏⑽牡脑?,所以UP又用英文“AB”作為壓縮的數(shù)據(jù),之后本該2字節(jié)的數(shù)據(jù)被壓到18字節(jié),直接大了九倍,于是UP還是不死心,一定要弄出到底是什么原因,目前已經(jīng)知道不是中英文的原因,所以UP又決定用轉(zhuǎn)換編碼的方式,因?yàn)橐渍Z(yǔ)言中的編碼是ansi編碼,而日常使用基本上都是utf-8的編碼,所以UP在壓縮數(shù)據(jù)上加上了編碼轉(zhuǎn)換,之后發(fā)現(xiàn),轉(zhuǎn)為utf-8編碼的中文壓縮后變成了22字節(jié),在原本的基礎(chǔ)上又增加了2個(gè)字節(jié),而轉(zhuǎn)為utf-8的英文字母,保持18字節(jié)不變,于是UP決定在壓縮后轉(zhuǎn)換編碼,隨后UP便發(fā)現(xiàn),原本壓縮后20字節(jié)的中文,被從ansi轉(zhuǎn)換為utf-8格式后變成了5字節(jié),僅僅多了1字節(jié),之后UP看了下英文AB壓縮后的數(shù)據(jù)大小,也是從18字節(jié)變?yōu)榱?字節(jié),但與壓縮前的2字節(jié)相比實(shí)在是太大了,于是UP決定看看有么有別的解決方法,UP隨后便將ansi編碼轉(zhuǎn)為usc2的編碼,結(jié)果發(fā)現(xiàn)轉(zhuǎn)碼失敗,數(shù)據(jù)大小全部變?yōu)?字節(jié),然后UP接著將ansi編碼轉(zhuǎn)為Unicode編碼,結(jié)果發(fā)現(xiàn),中文“你好”壓縮后是12字節(jié),是未壓縮的三倍,英文“AB”也是從2字節(jié)變?yōu)榱?2字節(jié),可能是轉(zhuǎn)換編碼的原因,使其壓縮后轉(zhuǎn)換為Unicode編碼的尺寸一樣,之后UP又將utf-8編碼格式轉(zhuǎn)為ansi編碼格式,發(fā)現(xiàn)結(jié)果是同樣的5字節(jié),隨后UP將英文“AB”改為“ABC”,結(jié)果發(fā)現(xiàn)還是5字節(jié),又改成了“ABCDEF”結(jié)果發(fā)現(xiàn)原本6字節(jié)的英文字母,被壓縮轉(zhuǎn)碼后還是5字節(jié),但是能不能轉(zhuǎn)回來(lái)就不知道了,但看來(lái)易語(yǔ)言中的壓縮數(shù)據(jù)這條命令還是與編碼有關(guān)。