{"id":4082,"date":"2012-01-26T12:40:13","date_gmt":"2012-01-26T03:40:13","guid":{"rendered":"http:\/\/labs.gree.jp\/blog\/?p=4082"},"modified":"2021-04-27T15:09:25","modified_gmt":"2021-04-27T06:09:25","slug":"post4082","status":"publish","type":"post","link":"https:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/","title":{"rendered":"SWF\u30d0\u30a4\u30ca\u30ea\u7de8\u96c6\u306e\u30b9\u30b9\u30e1\u756a\u5916\u7de8 (zlib \u4f38\u5f35) \u524d\u7de8"},"content":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u57fa\u76e4\u30c1\u30fc\u30e0\u306e\u3088\u3084\u3068\u7533\u3057\u307e\u3059\u3002<br \/>\n\u30d0\u30a4\u30ca\u30ea\u306e\u76ee\u5229\u304d\u3084\u66f8\u304d\u63db\u3048\u3092\u4e3b\u306a\u696d\u52d9\u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u3057\u30011% \u3067\u3082\u591a\u304f\u306e\u30e6\u30fc\u30b6\u306e\u7686\u69d8\u306b\u30b5\u30fc\u30d3\u30b9\u3092\u304a\u5c4a\u3051\u3059\u308b\u70ba\u3001\u3088\u308a\u826f\u8cea\u306e\u30d0\u30a4\u30ca\u30ea\u3092\u63a2\u3057\u6c42\u3081\u308b\u6bce\u65e5\u3067\u3059\u3002<\/p>\n<p>SWF \u306e\u756a\u5916\u7de8\u3068\u3057\u3066 zlib \u4f38\u5f35\u306b\u3064\u3044\u3066\uff12\u56de\u306e\u30d6\u30ed\u30b0\u306b\u5206\u3051\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002(\u5727\u7e2e\u51e6\u7406\u306f\u5bfe\u8c61\u5916\u3067\u3059)<br \/>\n\u524d\u7de8\u306e\u4eca\u56de\u306f\u6982\u8981\u306b\u3064\u3044\u3066\u304a\u8a71\u3057\u3001\u5177\u4f53\u7684\u306a\u5b9f\u88c5\u306f\u5f8c\u7de8\u3067\u6271\u3046\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_0\"> \u306f\u3058\u3081\u306b<\/h3>\n<p>SWF \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306f zlib \u5727\u7e2e\u3092\u591a\u7528\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001GIF\/PNG \u753b\u50cf\u306f\u72ec\u81ea\u753b\u50cf\u5f62\u5f0f(DefineBitsLossless \u306e BitmapPixelData)\u306b\u5909\u63db\u5f8c zlib \u5727\u7e2e\u3057\u3066\u683c\u7d0d\u3057\u307e\u3059\u3002<\/p>\n<ul>\n<li> <a href=\"http:\/\/labs.gree.jp\/blog\/2010\/12\/1902\/\">http:\/\/labs.gree.jp\/blog\/2010\/12\/1902\/<\/a> SWF\u30d0\u30a4\u30ca\u30ea\u7de8\u96c6\u306e\u30b9\u30b9\u30e1\u7b2c\u4e94\u56de (PNG)<\/li>\n<\/ul>\n<p><center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2010\/12\/1902\/definebitslossless2-format-5-png\/\" rel=\"attachment wp-att-2214\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2010\/12\/DefineBitsLossless2-format-5-PNG-220x200.png\" alt=\"\" title=\"DefineBitsLossless2-format-5-PNG\" width=\"220\" height=\"200\" class=\"aligncenter size-thumbnail wp-image-2214\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2010\/12\/DefineBitsLossless2-format-5-PNG-220x200.png 220w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2010\/12\/DefineBitsLossless2-format-5-PNG-441x400.png 441w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2010\/12\/DefineBitsLossless2-format-5-PNG.png 499w\" sizes=\"auto, (max-width: 220px) 100vw, 220px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Flash6 \u4ee5\u964d\u3067\u306f SWF \u3092(\u5148\u982d8byte\u3092\u9664\u3044\u3066)\u307e\u308b\u3054\u3068 zlib \u5727\u7e2e\u3059\u308b\u4e8b\u3082\u51fa\u6765\u307e\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-cws\/\" rel=\"attachment wp-att-4624\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-CWS.png\" alt=\"\" title=\"zlibInflate-CWS\" width=\"402\" height=\"220\" class=\"aligncenter size-full wp-image-4624\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-CWS.png 402w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-CWS-276x151.png 276w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><\/a><br \/>\n<\/center><br \/>\nSWF \u30d0\u30a4\u30ca\u30ea\u306e\u4e2d\u306e zlib \u5727\u7e2e\u3055\u308c\u305f\u30c7\u30fc\u30bf\u304c\u602a\u3057\u3044\u5834\u5408\u306b\u3001zlib \u5f62\u5f0f\u3068\u3057\u3066\u3069\u306e bit \u304c\u8aa4\u3063\u3066\u3044\u308b\u304b\u307e\u3067\u5206\u304b\u308c\u3070\u3001\u3088\u308a\u6df1\u304f\u554f\u984c\u3092\u8ffd\u6c42\u3067\u304d\u307e\u3059\u3002<br \/>\nSWF \u3092\u6271\u3046\u306e\u306b zlib \u306e\u77e5\u8b58\u306f\u5fc5\u9808\u3068\u307e\u3067\u306f\u8a00\u3044\u307e\u305b\u3093\u304c\u3001\u6301\u3063\u3066\u3044\u308b\u3068\u5b09\u3057\u3044\u6b66\u5668\u3060\u3068\u8a00\u3048\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u5c1a\u3001zlib \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306b\u3064\u3044\u3066\u6b86\u3069\u306e\u4e8b\u67c4\u306f @7shi \u6c0f\u304b\u3089\u6559\u308f\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u5834\u3092\u501f\u308a\u3066\u5fa1\u793c\u7533\u3057\u4e0a\u3052\u307e\u3059\u3002\u6709\u96e3\u3046\u3054\u3056\u3044\u307e\u3059\u3002\u672c\u5f53\u306b\u52a9\u304b\u308a\u307e\u3057\u305f\uff01<br \/>\n\u5f53\u8a18\u4e8b\u306f @7shi \u6c0f\u306e\u8cc7\u6599\u3068\u4f75\u305b\u3066\u8aad\u3080\u3068\u3001\u3088\u308a\u7406\u89e3\u304c\u6df1\u307e\u308a\u307e\u3059\u3002\u3054\u53c2\u8003\u307e\u3067\u306b\u3002<\/p>\n<ul>\n<li> <a href=\"http:\/\/d.hatena.ne.jp\/n7shi\/20110529\">http:\/\/d.hatena.ne.jp\/n7shi\/20110529<\/a> ZIP\u52c9\u5f37\u4f1a<\/li>\n<li> <a href=\"http:\/\/d.hatena.ne.jp\/n7shi\/20110719\">http:\/\/d.hatena.ne.jp\/n7shi\/20110719<\/a> \u30ab\u30b9\u30bf\u30e0\u30cf\u30d5\u30de\u30f3\u7b26\u53f7<\/li>\n<\/ul>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_1\"> zlib \u306b\u3064\u3044\u3066<\/h3>\n<p>zlib \u306fDeflate \u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u5229\u7528\u3057\u305f\u5727\u7e2e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u4e00\u7a2e\u3067\u3001Deflate \u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u5165\u308c\u7269\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002<br \/>\nDeflate \u306e\u4ed6\u306e\u5165\u308c\u7269\u3067\u306f gzip \u3084 ZIP \u304c\u6709\u540d\u3067\u3059\u3002gzip \u306f UNIX \u306e gzip \u30b3\u30de\u30f3\u30c9\u3067\u751f\u6210\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u5f62\u5f0f\u3067\u3059\u3002ZIP \u306f Windows OS \u3067\u5e83\u304f\u5229\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002<br \/>\nzlib \u306e\u30d8\u30c3\u30c0\u306f\u7c21\u7d20\u3067\u3059\u304c\u3001gzip \u306f\u30d5\u30a1\u30a4\u30eb\u540d\u3084\u6642\u523b\u7b49\u306e\u60c5\u5831\u304c\u5165\u308a\u307e\u3059\u3057\u3001ZIP \u306f\u8907\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u3082\u6271\u3048\u308b\u70ba\u3001\u66f4\u306b\u69cb\u9020\u304c\u8907\u96d1\u3067\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-container\/\" rel=\"attachment wp-att-4627\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-container.png\" alt=\"\" title=\"zlibInflate-container\" width=\"448\" height=\"208\" class=\"aligncenter size-full wp-image-4627\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-container.png 448w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-container-276x128.png 276w\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" \/><\/a><br \/>\n<\/center><\/p>\n<ul>\n<li>\n \u3053\u308c\u3089\u306e\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u306f\u4ee5\u4e0b\u306e\u6587\u66f8\u3067\u4ed5\u69d8\u304c\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li>  <a href=\"http:\/\/www.ietf.org\/rfc\/rfc1950.txt\">http:\/\/www.ietf.org\/rfc\/rfc1950.txt<\/a> (<a href=\"http:\/\/tools.ietf.org\/rfc\/rfc1950.pdf\">rfc1950.pdf<\/a>) zlib<\/li>\n<li>  <a href=\"http:\/\/www.ietf.org\/rfc\/rfc1951.txt\">http:\/\/www.ietf.org\/rfc\/rfc1951.txt<\/a> (<a href=\"http:\/\/tools.ietf.org\/rfc\/rfc1951.pdf\">rfc1951.pdf<\/a>) Deflate<\/li>\n<li>  <a href=\"http:\/\/www.ietf.org\/rfc\/rfc1952.txt\">http:\/\/www.ietf.org\/rfc\/rfc1952.txt<\/a> (<a href=\"http:\/\/tools.ietf.org\/rfc\/rfc1952.pdf\">rfc1952.pdf<\/a>) gzip<\/li>\n<li>  <a href=\"http:\/\/www.pkware.com\/documents\/casestudies\/APPNOTE.TXT\">http:\/\/www.pkware.com\/documents\/casestudies\/APPNOTE.TXT<\/a> ZIP<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_2\"> Deflate \u30a2\u30eb\u30b4\u30ea\u30ba\u30e0<\/h3>\n<p>\u30cf\u30d5\u30de\u30f3\u7b26\u53f7(Huffman coding)\u3068 LZ77 \u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u30c7\u30fc\u30bf\u5727\u7e2e\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<h4 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_3\"> \u30cf\u30d5\u30de\u30f3\u7b26\u53f7 (Huffman coding)<\/h4>\n<p>\u30c7\u30fc\u30bf\u4e2d\u306b\u983b\u7e41\u306b\u51fa\u73fe\u3059\u308b\u5024\u306b\u77ed\u3044 bit \u5217\u3092\u3001\u6ec5\u591a\u306b\u51fa\u306a\u3044\u5024\u306b\u9577\u3044 bit \u5217\u3092\u5272\u308a\u5f53\u3066\u3001\u4f7f\u308f\u308c\u306a\u3044\u5024\u304c\u3042\u308c\u3070 bit \u5217\u3092\u5272\u308a\u5f53\u3066\u306a\u3044\u4e8b\u3067\u3001\u30c7\u30fc\u30bf\u5168\u4f53\u306e\u9577\u3055\u3092\u77ed\u304f\u3059\u308b\u624b\u6cd5\u3067\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001Hello World \u3068\u3044\u3046\u6587\u5b57\u5217\u304c\u3042\u308b\u5834\u5408\u3001\u6587\u5b57\u6bce\u306e\u51fa\u73fe\u56de\u6570\u306f\u5404\u3005\u3001<\/p>\n<ul>\n<li> l \u304c 3 \u6587\u5b57<\/li>\n<li> o \u304c 2 \u6587\u5b57<\/li>\n<li> HWder \u3068\u7a7a\u767d\u304c1\u6587\u5b57\u305a\u3064<\/li>\n<\/ul>\n<p>\u3067\u3059\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b bit \u5217\u3092\u5272\u308a\u5f53\u3066\u308b\u4e8b\u3067\u3001 11bytes \u306e\u30c7\u30fc\u30bf\u3092 4bytes \u306b\u5727\u7e2e\u3067\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li> l : 00<\/li>\n<li> o: 01<\/li>\n<li> \u7a7a\u767d,H: 100\uff5e101<\/li>\n<li> W,d,e,r: 1100\uff5e1111 <\/li>\n<\/ul>\n<p><center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-huffman\/\" rel=\"attachment wp-att-4630\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-huffman.png\" alt=\"\" title=\"zlibInflate-huffman\" width=\"534\" height=\"270\" class=\"aligncenter size-full wp-image-4630\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-huffman.png 534w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-huffman-276x139.png 276w\" sizes=\"auto, (max-width: 534px) 100vw, 534px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>\u5c1a\u3001zlib \u306f\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u5316\u3067\u751f\u6210\u3057\u305f bit \u3092 byte \u5185\u306e\u4e0b\u4f4d bit \u304b\u3089\u8a70\u3081\u3066\u3044\u304f\u70ba\u3001\u4e0a\u8a18\u3068\u9055\u3046 byte \u306b\u306a\u308a\u307e\u3059\u3002(\u6b21\u56de\u306e\u30d6\u30ed\u30b0\u3067\u89e3\u8aac\u3057\u307e\u3059)<\/p>\n<h4 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_4\"> LZ77<\/h4>\n<p>\u30c7\u30fc\u30bf\u4e2d\u306b\u540c\u3058\u30d1\u30bf\u30fc\u30f3\u306e\u30c7\u30fc\u30bf\u5217\u3092\u898b\u3064\u3051\u305f\u5834\u5408\u306b\u3001\u30c7\u30fc\u30bf\u305d\u306e\u3082\u306e\u3092\u8a18\u9332\u305b\u305a\u306b\u3001\u540c\u3058\u30d1\u30bf\u30fc\u30f3\u304c\u3042\u308b\u4e8b\u3092\u793a\u3059\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u7f6e\u304f\u4e8b\u3067\u3001\u30c7\u30fc\u30bf\u5168\u4f53\u306e\u9577\u3055\u3092\u77ed\u304f\u3059\u308b\u624b\u6cd5\u3067\u3059\u3002<br \/>\n\u30e1\u30bf\u30c7\u30fc\u30bf\u306f\u3069\u306e\u4f4d\u524d(distance)\u306b\u3001\u3069\u306e\u4f4d\u306e\u9577\u3055(length)\u306e\u30d1\u30bf\u30fc\u30f3(\u540c\u3058\u30c7\u30fc\u30bf\u5217)\u304c\u3042\u308b\u3068\u3044\u3063\u305f\u60c5\u5831\u3092\u6301\u3061\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u56f3\u306f Huffman \u3068 LZ77 \u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u4f8b\u3067\u3059\u3002Huffman \u3067\u7b26\u53f7\u5316\u3059\u308b\u5024(0\uff5e255 \u306e1byte) \u3092\u62e1\u5f35\u3057\u3001distance \u3082\u540c\u5217\u306b\u6271\u3044\u307e\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-lz77\/\" rel=\"attachment wp-att-4631\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-lz77.png\" alt=\"\" title=\"zlibInflate-lz77\" width=\"552\" height=\"272\" class=\"aligncenter size-full wp-image-4631\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-lz77.png 552w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-lz77-276x136.png 276w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/a><br \/>\n<\/center><\/p>\n<h4 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_5\"> ADLER32<\/h4>\n<p>\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u4e00\u7a2e\u3067\u3059\u3002\u4fe1\u983c\u6027\u306b\u5c11\u3057\u76ee\u3092\u3064\u3080\u308b\u4ee3\u308f\u308a\u306b\u6bd4\u8f03\u7684\u9ad8\u901f\u306b\u8a08\u7b97\u51fa\u6765\u307e\u3059\u3002<br \/>\nPHP \u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5b9f\u88c5\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"superpre \">\ndefine ('MOD_ADLER', 65521);\nfunction adler32($data) {\n    $a = 1;\n    $b = 0;\n    $data_length = strlen($data);\n    for ($i = 0 ; $i < $data_length ; $i++) {\n        $a = ($a + ord($data[$i])) % MOD_ADLER;\n        $b = ($b + $a) % MOD_ADLER;\n    }\n    return ($b << 16) | $a;\n}<\/pre>\n<p>\u5c1a\u3001\u3088\u308a\u9ad8\u901f\u306a\u30eb\u30fc\u30c1\u30f3\u304c Wikipedia \u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3054\u53c2\u8003\u307e\u3067\u3002(\u3053\u3061\u3089\u306f C \u8a00\u8a9e\u3067\u3059)<\/p>\n<ul>\n<li> <a href=\"http:\/\/ja.wikipedia.org\/wiki\/Adler-32\">http:\/\/ja.wikipedia.org\/wiki\/Adler-32<\/a><\/li>\n<\/ul>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_6\"> zlib \u30d0\u30a4\u30ca\u30ea\u5f62\u5f0f<\/h3>\n<p>zlib \u306e\u30d8\u30c3\u30c0\u306b\u306f\u30c7\u30fc\u30bf\u3092\u3069\u306e\u3088\u3046\u306b\u5727\u7e2e\u3057\u305f\u304b\u306e\u60c5\u5831\u304c\u5165\u308a\u307e\u3059\u3002\u901a\u5e38\u306f 2bytes \u3067\u3059\u304c\u3001FDICT(1 bit)\u304c 1 \u306e\u5834\u5408\u306b\u306f 6 bytes \u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n\u5c1a\u3001(\u901a\u5e38\u4f7f\u308f\u308c\u306a\u3044 DICTID \u3092\u9664\u3044\u3066) \u30d8\u30c3\u30c0\u306e\u60c5\u5831\u3092\u898b\u306a\u304f\u3066\u3082\u4f38\u9577\u304c\u53ef\u80fd\u3067\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-zlib\/\" rel=\"attachment wp-att-4634\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-zlib.png\" alt=\"\" title=\"zlibInflate-zlib\" width=\"480\" height=\"260\" class=\"aligncenter size-full wp-image-4634\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-zlib.png 480w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-zlib-276x149.png 276w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><br \/>\n<\/center><br \/>\nDICTID \u306f(Deflate \u4ed5\u69d8\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3\u306e\u8868\u304c\u6c17\u306b\u5165\u3089\u306a\u3044\u5834\u5408)\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5074\u3067\u30cf\u30d5\u30de\u30f3\u8868\u3092\u6c7a\u3081\u6253\u3061\u306b\u3059\u308b\u6642\u306b\u3001\u305d\u306e\u9001\u4fe1\u5074\u3068\u53d7\u4fe1\u5074\u3068\u3067\u540c\u3058\u8868\u306a\u306e\u304b\u306e\u30c1\u30a7\u30c3\u30af\u306b\u4f7f\u308f\u308c\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_7\"> Deflate \u30b9\u30c8\u30ea\u30fc\u30e0\u5f62\u5f0f<\/h3>\n<p>Deflate \u30b9\u30c8\u30ea\u30fc\u30e0\u306f\u30d6\u30ed\u30c3\u30af\u306e\u30ea\u30b9\u30c8\u69cb\u9020\u3067\u3059\u3002<br \/>\n\u30d6\u30ed\u30c3\u30af\u306e\u982d\u306b BFINAL (1 bit) \u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u3042\u308a\u3001\u305d\u306e\u30d6\u30ed\u30c3\u30af\u306e\u5f8c\u308d\u306b\u5225\u306e\u30d6\u30ed\u30c3\u30af\u304c\u7d9a\u304f\u306e\u304b(BFINAL:0)\u3001\u4eca\u306e\u30d6\u30ed\u30c3\u30af\u3067\u6700\u5f8c\u306a\u306e\u304b(BFINAL:1)\u3092\u793a\u3057\u307e\u3059\u3002<br \/>\nBFINAL \u306b\u7d9a\u3044\u3066 BTYPE(2 bits) \u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u3042\u308a\u3001\u305d\u306e\u30d6\u30ed\u30c3\u30af\u306e\u5727\u7e2e\u5f62\u5f0f\u3092\u793a\u3057\u307e\u3059\u3002\u7121\u5727\u7e2e(BTYPE:0)\u3001\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3(BTYPE:1)\u3001\u52d5\u7684\u30cf\u30d5\u30de\u30f3(BTYPE:2)\u306e\u4e09\u7a2e\u985e\u304c\u3042\u308a\u3001\u30c7\u30fc\u30bf\u5217\u306e\u6027\u8cea\u306b\u3088\u3063\u3066\u4f7f\u3044\u5206\u3051\u307e\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-deflate\/\" rel=\"attachment wp-att-4635\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate.png\" alt=\"\" title=\"zlibInflate-Deflate\" width=\"502\" height=\"128\" class=\"aligncenter size-full wp-image-4635\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate.png 502w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-276x70.png 276w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/a><br \/>\n<\/center><\/p>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_8\"> Deflate \u5f62\u5f0f<\/h3>\n<h4 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_9\"> BTYPE:0 \u7121\u5727\u7e2e<\/h4>\n<p>\u77ed\u3044\u30c7\u30fc\u30bf\u5217\u3067\u306f\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u5316\u306f\u9006\u52b9\u679c\u306b\u306a\u308a\u304c\u3061\u3067\u3059\u3002<br \/>\n\u305d\u306e\u5834\u5408\u306f\u3042\u3048\u3066\u30c7\u30fc\u30bf\u3092\u5727\u7e2e\u305b\u305a\u3001\u305d\u306e\u307e\u307e\u683c\u7d0d\u3059\u308b\u5f62\u5f0f\u3092\u5229\u7528\u3057\u307e\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-deflate-btype0\/\" rel=\"attachment wp-att-4640\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0.png\" alt=\"\" title=\"zlibInflate-Deflate-BTYPE0\" width=\"398\" height=\"218\" class=\"aligncenter size-full wp-image-4640\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0.png 398w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0-276x151.png 276w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>LEN \u306b\u306f\u683c\u7d0d\u3059\u308b\u30c7\u30fc\u30bf\u306e\u9577\u3055\u3092\u3001NLEN \u306b\u306f LEN \u306e 1 \u306e\u88dc\u6570(\u5168\u30d3\u30c3\u30c8\u306e 0, 1 \u304c\u9006)\u306e\u5024\u304c\u5165\u308a\u307e\u3059\u3002<\/p>\n<h4 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_10\"> BTYPE:1 \u56fa\u5b9a\u30cf\u30d5\u30de\u30f3<\/h4>\n<p>\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u8868\u3092\u5727\u7e2e\u30c7\u30fc\u30bf\u306b\u4ed8\u52a0\u3057\u3066\u30c7\u30fc\u30bf\u9577\u304c\u81a8\u3089\u3080\u306e\u3092\u907f\u3051\u308b\u306e\u306b\u3001\u6c7a\u3081\u6253\u3061\u306e\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u8868\u3092\u4f7f\u3046\u65b9\u5f0f\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<br \/>\n\u3053\u306e\u7b26\u53f7\u8868\u306f\u3001\u30b3\u30fc\u30c9\u306e\u51fa\u73fe\u983b\u5ea6\u306e\u504f\u308a\u304c\u5c11\u306a\u304f(US-ASCII \u7bc4\u56f2\u5185\u3060\u3068\u66f4\u306b\u826f\u3057)\u3001\u30ea\u30d4\u30fc\u30c8\u304c\u591a\u3044\u5834\u5408\u306b\u5727\u7e2e\u304c\u3088\u304f\u52b9\u304d\u307e\u3059\u304c\u3001\u305d\u3046\u3067\u306a\u3044\u30c7\u30fc\u30bf\u5217\u3067\u306f\u9006\u306b\u30c7\u30fc\u30bf\u91cf\u304c\u81a8\u3089\u3080\u6027\u8cea\u3092\u6301\u3061\u307e\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-deflate-btype1\/\" rel=\"attachment wp-att-4641\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1.png\" alt=\"\" title=\"zlibInflate-Deflate-BTYPE1\" width=\"364\" height=\"182\" class=\"aligncenter size-full wp-image-4641\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1.png 364w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1-276x138.png 276w\" sizes=\"auto, (max-width: 364px) 100vw, 364px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3\u3067\u4f7f\u308f\u308c\u308b\u6c7a\u3081\u6253\u3061\u306e\u7b26\u53f7\u8868\u306f <a href=\"http:\/\/tools.ietf.org\/rfc\/rfc1951.pdf\">RFC1951<\/a> \u306e 3.2.6 \u7ae0\u306b\u8f09\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h4 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_11\"> BTYPE:2 \u52d5\u7684\u30cf\u30d5\u30de\u30f3<\/h4>\n<p>\u30c7\u30fc\u30bf\u5727\u7e2e\u306b\u9069\u3057\u305f\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u8868\u3092\u4f5c\u6210\u3057\u3001\u5727\u7e2e\u30c7\u30fc\u30bf\u306e\u5148\u982d\u306b\u3064\u3051\u308b\u65b9\u5f0f\u3067\u3059\u3002<br \/>\n\u305d\u3053\u305d\u3053\u306e\u30b5\u30a4\u30ba\u306e\u3042\u308b\u753b\u50cf\u30c7\u30fc\u30bf\u7b49\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002\u591a\u304f\u306e\u5834\u5408\u306f\u3053\u306e\u5f62\u5f0f\u304c\u4f7f\u308f\u308c\u307e\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/zlibinflate-deflate-btype2\/\" rel=\"attachment wp-att-4642\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE2.png\" alt=\"\" title=\"zlibInflate-Deflate-BTYPE2\" width=\"488\" height=\"214\" class=\"aligncenter size-full wp-image-4642\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE2.png 488w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE2-276x121.png 276w\" sizes=\"auto, (max-width: 488px) 100vw, 488px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>\u5b9f\u30c7\u30fc\u30bf\u306b\u5bfe\u3059\u308b\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u8868\u306f\u5197\u9577\u306b\u306a\u308a\u304c\u3061\u306a\u70ba\u304b\u3001\u305d\u306e\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u8868\u3092\u66f4\u306b\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u5316\u3059\u308b\u5f62\u5f0f\u3092\u53d6\u308a\u307e\u3059\u3002<\/p>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_12\"> \u3055\u3044\u3054\u306b<\/h3>\n<p>\u524d\u7de8\u3067\u306f zlib \u306e\u6982\u8981\u3092\u8aac\u660e\u3057\u307e\u3057\u305f\u3002<br \/>\n\u5f8c\u7de8\u306f\u3001\u5177\u4f53\u7684\u306a bit \u306e\u4e26\u3073\u3068\u4f38\u5f35\u306e\u5b9f\u88c5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3059\u308b\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<p>\u305d\u308c\u3067\u306f\u3001\u5931\u793c\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\n<h3 id=\"hs_43a08eca0c5829a02a72d3a03576e39c_header_13\"> \u53c2\u8003\u8cc7\u6599<\/h3>\n<ul>\n<li>\n  <a href=\"http:\/\/tools.ietf.org\/rfc\/rfc1950.pdf\">http:\/\/tools.ietf.org\/rfc\/rfc1950.pdf<\/a>\u3000zlib spec<\/p>\n<ul>\n<li>  <a href=\"http:\/\/www.futomi.com\/lecture\/japanese\/rfc1950.html\">http:\/\/www.futomi.com\/lecture\/japanese\/rfc1950.html<\/a> futomi\u6c0f\u306b\u3088\u308b\u65e5\u672c\u8a9e\u8a33<\/li>\n<\/ul>\n<\/li>\n<li>\n  <a href=\"http:\/\/tools.ietf.org\/rfc\/rfc1951.pdf\">http:\/\/tools.ietf.org\/rfc\/rfc1951.pdf<\/a> Deflate spec<\/p>\n<ul>\n<li>  <a href=\"http:\/\/www.futomi.com\/lecture\/japanese\/rfc1951.html\">http:\/\/www.futomi.com\/lecture\/japanese\/rfc1951.html<\/a> futomi\u6c0f\u306b\u3088\u308b\u65e5\u672c\u8a9e\u8a33<\/li>\n<\/ul>\n<\/li>\n<li>\n <a href=\"http:\/\/d.hatena.ne.jp\/n7shi\/20110529\">http:\/\/d.hatena.ne.jp\/n7shi\/20110529<\/a> ZIP\u52c9\u5f37\u4f1a<\/p>\n<ul>\n<li>  <a href=\"http:\/\/www.slideshare.net\/7shi\/deflate\">http:\/\/www.slideshare.net\/7shi\/deflate<\/a> Deflate \u8aac\u660e\u8cc7\u6599<\/li>\n<\/ul>\n<\/li>\n<li> <a href=\"http:\/\/d.hatena.ne.jp\/n7shi\/20110719\">http:\/\/d.hatena.ne.jp\/n7shi\/20110719<\/a> \u30ab\u30b9\u30bf\u30e0\u30cf\u30d5\u30de\u30f3\u7b26\u53f7<\/li>\n<li> <a href=\"http:\/\/d.hatena.ne.jp\/yoya\/20110726\/io_zlib\">http:\/\/d.hatena.ne.jp\/yoya\/20110726\/io_zlib<\/a> IO_Zlib 1.0.0 \u30ea\u30ea\u30fc\u30b9<\/li>\n<li> <a href=\"http:\/\/www.zlib.net\/zlib_tech.html\">http:\/\/www.zlib.net\/zlib_tech.html<\/a> zlib Technical Detailed<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u306b\u3061\u306f\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u57fa\u76e4\u30c1\u30fc\u30e0\u306e\u3088\u3084\u3068\u7533\u3057\u307e\u3059\u3002 \u30d0\u30a4\u30ca\u30ea\u306e\u76ee\u5229\u304d\u3084\u66f8\u304d\u63db\u3048\u3092\u4e3b\u306a\u696d\u52d9\u30d5\u30a3\u30fc\u30eb\u30c9\u3068\u3057\u30011% \u3067\u3082\u591a\u304f\u306e\u30e6\u30fc\u30b6\u306e\u7686\u69d8\u306b\u30b5\u30fc\u30d3\u30b9\u3092\u304a\u5c4a\u3051\u3059\u308b\u70ba\u3001\u3088\u308a\u826f\u8cea\u306e\u30d0\u30a4\u30ca\u30ea\u3092\u63a2\u3057\u6c42\u3081\u308b\u6bce\u65e5\u3067\u3059\u3002 SWF \u306e\u756a\u5916 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[18],"class_list":["post-4082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-info","tag-flash"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/4082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/comments?post=4082"}],"version-history":[{"count":3,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/4082\/revisions"}],"predecessor-version":[{"id":21160,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/4082\/revisions\/21160"}],"wp:attachment":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/media?parent=4082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/categories?post=4082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/tags?post=4082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}