{"id":4530,"date":"2014-01-21T08:55:42","date_gmt":"2014-01-20T23:55:42","guid":{"rendered":"http:\/\/labs.gree.jp\/blog\/?p=4530"},"modified":"2014-01-21T20:40:56","modified_gmt":"2014-01-21T11:40:56","slug":"swf%e3%83%90%e3%82%a4%e3%83%8a%e3%83%aa%e7%b7%a8%e9%9b%86%e3%81%ae%e3%82%b9%e3%82%b9%e3%83%a1%e7%95%aa%e5%a4%96%e7%b7%a8-zlib-%e4%bc%b8%e5%bc%b5-%e4%b8%ad%e7%b7%a8","status":"publish","type":"post","link":"https:\/\/labs.gree.jp\/blog\/2014\/01\/4530\/","title":{"rendered":"SWF\u30d0\u30a4\u30ca\u30ea\u7de8\u96c6\u306e\u30b9\u30b9\u30e1\u756a\u5916\u7de8 (zlib \u4f38\u5f35) \u4e2d\u7de8"},"content":{"rendered":"<p>\u3088\u3084\u3068\u7533\u3057\u307e\u3059\u3002\u3053\u3093\u306b\u3061\u308f\u3002<\/p>\n<p>\u4eca\u56de\u306f zlib \u89e3\u8aac\u306e\u4e2d\u7de8\u3067\u3059\u3002\u524d\u7de8\u306f\u3053\u3061\u3089 \u2193<\/p>\n<ul>\n<li> <a href=\"http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/\">http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/<\/a> SWF\u30d0\u30a4\u30ca\u30ea\u7de8\u96c6\u306e\u30b9\u30b9\u30e1\u756a\u5916\u7de8 (zlib \u4f38\u5f35) \u524d\u7de8<\/li>\n<\/ul>\n<p>\u524d\u56de\u3001zlib \u30d8\u30c3\u30c0\u306e\u30d0\u30a4\u30ca\u30ea\u3092\u89e3\u8aac\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u305d\u306e\u5f8c\u308d\u306b\u7d9a\u304f Deflate\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u30d0\u30a4\u30ca\u30ea\u69cb\u9020\u306b\u3064\u3044\u3066\u3067\u3059\u3002<br \/>\n\u5c1a\u3001\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3\u307e\u3067\u306e\u8aac\u660e\u3067\u9577\u304f\u306a\u308a\u904e\u304e\u305f\u306e\u3067\u3001\u52d5\u7684\u30cf\u30d5\u30de\u30f3(\u30ab\u30b9\u30bf\u30e0\u30cf\u30d5\u30de\u30f3)\u306f\u6b21\u56de\u306e\u5f8c\u7de8\u3067\u6539\u3081\u3066\u89e3\u8aac\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\n<h3 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_0\"> \u524d\u56de\u306e\u5fa9\u7fd2<\/h3>\n<ul>\n<li> zlib \u306f\u300czlib \u30d8\u30c3\u30c0 + Deflate \u30b9\u30c8\u30ea\u30fc\u30e0 + ADLER32\u300d\u306e\u30c7\u30fc\u30bf\u5f62\u5f0f\u3067\u3059\u3002\u5c1a\u3001\u901a\u5e38\u3001zlib \u30d8\u30c3\u30c0\u7121\u3057\u3067\u3082 Deflate \u30b9\u30c8\u30ea\u30fc\u30e0\u3060\u3051\u3067\u5727\u7e2e\u5143\u306e\u30c7\u30fc\u30bf\u3092\u5fa9\u5143\u51fa\u6765\u307e\u3059\u3002(DICTID \u304c\u5b58\u5728\u3059\u308b\u3068\u8a71\u304c\u5c11\u3057\u5384\u4ecb\u3067\u3059\u304c\u3001\u901a\u5e38\u898b\u304b\u3051\u308b\u4e8b\u306f\u306a\u3044\u3067\u3057\u3087\u3046)<\/li>\n<\/ul>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-zlib.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-zlib-276x149.png\" alt=\"zlibInflate-zlib\" width=\"276\" height=\"149\" class=\"alignright size-thumbnail wp-image-4634\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-zlib-276x149.png 276w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-zlib.png 480w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><\/center><\/p>\n<p>Deflate \u306f\u30c7\u30fc\u30bf\u3092\u4efb\u610f\u306e\u9577\u3055\u306e\u30d6\u30ed\u30c3\u30af\u3067\u5206\u3051\u3066\u53ce\u7d0d\u51fa\u6765\u307e\u3059\u3002\u7d9a\u304d\u306e\u30d6\u30ed\u30c3\u30af\u304c\u3042\u308b\u304b\u306f BFINAL \u3067\u8868\u3057\u3001\u5404\u30d6\u30ed\u30c3\u30af\u6bce\u306b\u4efb\u610f\u306e\u5727\u7e2e\u30bf\u30a4\u30d7(BTYPE)\u3092\u4ed8\u3051\u3089\u308c\u307e\u3059\u3002<\/p>\n<ul>\n<li> \u30d6\u30ed\u30c3\u30af\u306e\u9023\u7d50\u30a4\u30e1\u30fc\u30b8<\/li>\n<\/ul>\n<p><center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-276x70.png\" alt=\"zlibInflate-Deflate\" width=\"276\" height=\"70\" class=\"aligncenter size-thumbnail wp-image-4635\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-276x70.png 276w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate.png 502w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><br \/>\n<\/center><\/p>\n<ul>\n<li> \u5727\u7e2e\u30bf\u30a4\u30d7\u306b\u306f\u4e09\u7a2e\u985e\u5b58\u5728\u3057\u307e\u3059\u3002\u30c7\u30fc\u30bf\u306e\u30b5\u30a4\u30ba\u3084\u6027\u8cea\u306b\u5fdc\u3058\u3066\u4f7f\u3044\u5206\u3051\u307e\u3059\u3002(\u524d\u56de\u3001\u5927\u307e\u304b\u306b\u89e3\u8aac\u3057\u307e\u3057\u305f)<\/li>\n<\/ul>\n<p><center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0-276x151.png\" alt=\"zlibInflate-Deflate-BTYPE0\" width=\"276\" height=\"151\" class=\"aligncenter size-thumbnail wp-image-4640\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0-276x151.png 276w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0.png 398w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1-276x138.png\" alt=\"zlibInflate-Deflate-BTYPE1\" width=\"276\" height=\"138\" class=\"aligncenter size-thumbnail wp-image-4641\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1-276x138.png 276w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1.png 364w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE2-276x121.png\" alt=\"zlibInflate-Deflate-BTYPE2\" width=\"276\" height=\"121\" class=\"aligncenter size-thumbnail wp-image-4642\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE2-276x121.png 276w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE2.png 488w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><br \/>\n<\/center><\/p>\n<h3 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_1\"> \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u4f5c\u308a\u65b9<\/h3>\n<p>PHP \u306b\u306f gzcompress \u3068\u3044\u3046\u95a2\u6570\u304c\u3042\u308a\u307e\u3057\u3066\u3001gz \u3068\u982d\u306b\u4ed8\u3044\u3066\u3044\u307e\u3059\u304c (gzip \u3067\u306a\u304f) zlib \u306e\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u307e\u3059\u3002<\/p>\n<ul>\n<li> \u53c2\u8003) <a href=\"http:\/\/www.php.net\/manual\/ja\/function.gzcompress.php\">http:\/\/www.php.net\/manual\/ja\/function.gzcompress.php<\/a> \u2190 zlib\u30d8\u30c3\u30c0 + deflate\u30b9\u30c8\u30ea\u30fc\u30e0 + adler32 (<a href=\"#hs_2fdc7ff6713aff77631eae29cffc2d8a_footnote_1\" id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_footnotelink_1\" title=\"gzip \u30d8\u30c3\u30c0\u3082\u8fbc\u307f\u3067\u6b32\u3057\u3044\u5834\u5408\u306f gzencode \u3001zlib \u306e\u30d8\u30c3\u30c0\u7121\u3057\u3067 deflate \u30b9\u30c8\u30ea\u30fc\u30e0\u3060\u3051\u6b32\u3057\u3044\u5834\u5408\u306f gzdeflate \u304c\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\">*1<\/a>)<\/li>\n<\/ul>\n<ul>\n<li> \u7121\u5727\u7e2e(BTYPE:0)<\/li>\n<\/ul>\n<pre lang=\"shell\">\n$ php -r 'echo gzcompress(\"This is TEST\", 0);' > btype0.zlib\n$ hexdump -C btype0.zlib\n00000000  78 01 01 0c 00 f3 ff 54  68 69 73 20 69 73 20 54  |x......This is T|\n00000010  45 53 54 1a e3 03 f5                              |EST....|\n<\/pre>\n<ul>\n<li> \u56fa\u5b9a\u30cf\u30d5\u30de\u30f3(BTYPE:1)<\/li>\n<\/ul>\n<pre lang=\"shell\">\n$ php -r 'echo gzcompress(\"This is TEST\");' > btype1.zlib\n$ hexdump -C btype1.zlib\n00000000  78 9c 0b c9 c8 2c 56 00  a2 10 d7 e0 10 00 1a e3  |x....,V.........|\n00000010  03 f5                                             |..|\n<\/pre>\n<ul>\n<li> \u52d5\u7684\u30cf\u30d5\u30de\u30f3(BTYPE:2)<\/li>\n<\/ul>\n<p>\u5c0f\u3055\u306a\u30c7\u30fc\u30bf\u306b\u5bfe\u3057\u3066\u52d5\u7684\u30cf\u30d5\u30de\u30f3\u3092\u9069\u7528\u3059\u308b\u65b9\u6cd5\u306f <a href=\"http:\/\/d.hatena.ne.jp\/n7shi\/20110719\">http:\/\/d.hatena.ne.jp\/n7shi\/20110719<\/a> \u3092\u53c2\u8003\u306b .NET \u306e DeflateStream \u3092\u4f7f\u304a\u3046\u3068\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u74b0\u5883\u3092\u4f5c\u308b\u306e\u304c\u9762\u5012\u306a\u306e\u3067\u30c7\u30fc\u30bf\u306e\u65b9\u3060\u3051\u62dd\u501f\u3055\u305b\u3066\u9802\u304d\u307e\u3059\u3002(zlib \u30d8\u30c3\u30c0\u3068\u3057\u3066\u982d\u306b 9c 78 \u306e 2byte \u3092\u8ffd\u52a0)<\/p>\n<pre lang=\"shell\">\n$ php -r 'foreach (array_splice($argv, 1) as $n) { echo chr(hexdec($n)); }' \\\n78 9c \\\nED BD 07 60 1C 49 96 25 26 2F 6D CA 7B 7F 4A F5 \\\n4A D7 E0 74 A1 08 80 60 13 24 D8 90 40 10 EC C1 \\\n88 CD E6 92 EC 1D 69 47 23 29 AB 2A 81 CA 65 56 \\\n65 5D 66 16 40 CC ED 9D BC F7 DE 7B EF BD F7 DE \\\n7B EF BD F7 BA 3B 9D 4E 27 F7 DF FF 3F 5C 66 64 \\\n01 6C F6 CE 4A DA C9 9E 21 80 AA C8 1F 3F 7E 7C \\\n1F 3F 22 32 3C FF 0F > btype2.zlib\n$ hexdump -C btype2.zlib\n00000000  78 9c ed bd 07 60 1c 49  96 25 26 2f 6d ca 7b 7f  |.x...`.I.%&\/m.{.|\n00000010  4a f5 4a d7 e0 74 a1 08  80 60 13 24 d8 90 40 10  |J.J..t...`.$..@.|\n00000020  ec c1 88 cd e6 92 ec 1d  69 47 23 29 ab 2a 81 ca  |........iG#).*..|\n00000030  65 56 65 5d 66 16 40 cc  ed 9d bc f7 de 7b ef bd  |eVe]f.@......{..|\n00000040  f7 de 7b ef bd f7 ba 3b  9d 4e 27 f7 df ff 3f 5c  |..{....;.N'...?\\|\n00000050  66 64 01 6c f6 ce 4a da  c9 9e 21 80 aa c8 1f 3f  |fd.l..J...!....?|\n00000060  7e 7c 1f 3f 22 32 3c ff  0f                       |~|.?\"2<..|\n<\/pre>\n<h3 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_2\"> BTYPE \u5225\u8a73\u7d30\u89e3\u8aac<\/h3>\n<h4 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_3\"> BTYPE:0 \u7121\u5727\u7e2e<\/h4>\n<p>\u3053\u306e\u65b9\u5f0f\u306f\u5b9f\u969b\u306b\u306f\u5727\u7e2e\u3057\u307e\u305b\u3093\u3002\u521d\u3081\u306b\u30c7\u30fc\u30bf\u9577\u304c\u3042\u308a\u3001\u305d\u306e\u5f8c\u308d\u306b\u4f55\u3082\u5909\u63db\u3057\u306a\u3044\u751f\u306e\u30c7\u30fc\u30bf\u304c\u7d9a\u304d\u307e\u3059\u3002<br \/>\n\u4f46\u3057\u3001\u30c7\u30fc\u30bf\u9577\u30d5\u30a3\u30fc\u30eb\u30c9\u306f 2 bytes \u306e\u70ba\u300165535 \u3092\u8d85\u3048\u3089\u308c\u306a\u3044\u4e8b\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0-276x151.png\" alt=\"zlibInflate-Deflate-BTYPE0\" width=\"276\" height=\"151\" class=\"aligncenter size-thumbnail wp-image-4640\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0-276x151.png 276w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE0.png 398w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><\/a><br \/>\n<\/center><\/p>\n<p>\u5148\u7a0b\u3001\u751f\u6210\u3057\u305f\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf(btype0.zlib)\u3067\u78ba\u8a8d\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre lang=\"shell\">\n$ hexdump -C btype0.zlib\n00000000  78 01 01 0c 00 f3 ff 54  68 69 73 20 69 73 20 54  |x......This is T|\n00000010  45 53 54 1a e3 03 f5                              |EST....|\n<\/pre>\n<p>\u5148\u982d 2 bytes \u306f zlib \u30d8\u30c3\u30c0\u306a\u306e\u3067\u7121\u8996\u3059\u308b\u3068\u3057\u3066\u3001\u305d\u306e\u5f8c\u308d\u306b BTYPE \u3068\u30c7\u30fc\u30bf\u9577\u304c\u7d9a\u304d\u307e\u3059\u3002<\/p>\n<pre lang=\"shell\">\n$ hexdump -C btype0.zlib\n00000000  78 01 01 0c 00 f3 ff 54  68 69 73 20 69 73 20 54  |x......This is T|\n                <> <---> <--->\n00000010  45 53 54 1a e3 03 f5                              |EST....|\n<\/pre>\n<ul>\n<li> zlib \u306e\u30d3\u30c3\u30c8\u306e\u8aad\u307f\u51fa\u3057\u306f\u5206\u304b\u308a\u306b\u304f\u3044\u3067\u3059\u304c\u3001\u4e0b\u4f4d\u30d3\u30c3\u30c8\u304b\u3089\u8aad\u307f\u3060\u3057\u307e\u3059\u3002<\/li>\n<li> 0x01 \u306f2\u9032\u6570\u3067 00000001\u3001\u6700\u5f8c1\u30d3\u30c3\u30c8\u306e 1(\u6700\u5f8c\u306e\u30d6\u30ed\u30c3\u30af)\u3068\u305d\u306e\u624b\u524d2\u30d3\u30c3\u30c8\u306e 00 (BTYPE)\u3060\u3051\u610f\u5473\u304c\u3042\u308a\u307e\u3059\u3002\u982d\u306e 00000 \u306f\u8aad\u307f\u6368\u3066\u307e\u3059\u3002<\/li>\n<\/ul>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE0_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE0_70per.png\" alt=\"DeflateBTYPE0_70per\" width=\"320\" height=\"174\" class=\"aligncenter size-full wp-image-10552\" \/><\/a><\/center><\/p>\n<ul>\n<li> LittleEndian \u306a\u306e\u3067 0c 00 => 0x000c => \u30c7\u30fc\u30bf\u9577\u304c 12 byte \u3067\u3042\u308b\u4e8b\u3092\u793a\u3057\u307e\u3059\u3002 <\/li>\n<li> \u30c7\u30fc\u30bf\u9577\u306e\u6b21\u306b\u306f\u8db3\u3059\u3068 0xffff \u306b\u306a\u308b\u3088\u3046\u306a\u5024(<a href=\"#hs_2fdc7ff6713aff77631eae29cffc2d8a_footnote_2\" id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_footnotelink_2\" title=\"\u3044\u308f\u3086\u308b 1\u306e\u88dc\u6570\u3067\u3059\u3002\u4e00\u822c\u306b\u8ca0\u306e\u8868\u73fe\u3067\u3088\u304f\u4f7f\u308f\u308c\u308b 2\u306e\u88dc\u6570\u3067\u306f\u306a\u3044\u3067\u3059\u3002\">*2<\/a>)\u304c\u5165\u308a\u307e\u3059\u3002(verify \u30c1\u30a7\u30c3\u30af\u3067\u3057\u3087\u3046\u304b)<\/li>\n<\/ul>\n<pre lang=\"shell\">\n$ hexdump -C btype0.zlib\n00000000  78 01 01 0c 00 f3 ff 54  68 69 73 20 69 73 20 54  |x......This is T|\n                               <--------------------------\n00000010  45 53 54 1a e3 03 f5                              |EST....|\n          -------> <--------->\n<\/pre>\n<p>12 bytes \u30c7\u30fc\u30bf\u304c\u7d9a\u304f\u4e8b\u304c\u5206\u304b\u3063\u3066\u3044\u308b\u306e\u3067\u3001\"This is TEST\" \u3092\u53d6\u308a\u51fa\u3057\u3066\u3001\u5fa9\u5143\u6210\u529f\u3067\u3059\u3002<br \/>\n\u6700\u5f8c\u306e 4 bytes \u306f ADLER32 \u306e\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u3067\u3059\u3002\u30c7\u30fc\u30bf\u304c\u5316\u3051\u3066\u306a\u3044\u304b\u78ba\u8a8d\u3059\u308b\u306e\u306b\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<h4 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_4\"> BTYPE:1 \u56fa\u5b9a\u30cf\u30d5\u30de\u30f3<\/h4>\n<p>\u3068\u3042\u308b\u6c7a\u307e\u3063\u305f\u30cf\u30d5\u30de\u30f3\u8868\u3092\u4f7f\u3063\u3066\u4f38\u9577\u3057\u307e\u3059\u3002<br \/>\n<center><br \/>\n<a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1-276x138.png\" alt=\"zlibInflate-Deflate-BTYPE1\" width=\"276\" height=\"138\" class=\"aligncenter size-thumbnail wp-image-4641\" srcset=\"https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1-276x138.png 276w, https:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2012\/01\/zlibInflate-Deflate-BTYPE1.png 364w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>BTYPE=1(\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3)\u306e\u30cf\u30d5\u30de\u30f3\u8868\u306f <a href=\"http:\/\/tools.ietf.org\/rfc\/rfc1951.txt\">RFC1951<\/a> \u306e Page12 \u306b\u8f09\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre>\nLit Value    Bits        Codes\n<ul>\n<li>    ----        -----<\/li>\n<\/ul>\n\n  0 - 143     8          00110000 through\n                         10111111\n144 - 255     9          110010000 through\n                         111111111\n256 - 279     7          0000000 through\n                         0010111\n280 - 287     8          11000000 through\n                         11000111\n<\/pre>\n<p>\u3053\u308c\u3092\u30d3\u30c3\u30c8\u6570\u306e\u5c11\u306a\u3044\u9806\u306b\u4e26\u3079\u3066\u56f3\u306b\u3059\u308b\u3068\u3053\u3046\u3067\u3059\u3002<br \/>\n<center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3\u5909\u63db\u8868_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3\u5909\u63db\u8868_70per.png\" alt=\"\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3\u5909\u63db\u8868_70per\" width=\"498\" height=\"238\" class=\"aligncenter size-full wp-image-10523\" \/><\/a><\/center><\/p>\n<ul>\n<li> \u7d42\u7aef\u3084\u7e70\u308a\u8fd4\u3057\u3092\u8868\u3059\u30e1\u30bf\u30c7\u30fc\u30bf\u306b\u77ed\u3044\u30d3\u30c3\u30c8(7bits)\u3092\u5272\u308a\u5f53\u3066\u3001<\/li>\n<li> \u305d\u306e\u6b21\u306b\u77ed\u3044\u30d3\u30c3\u30c8(8bits)\u3092 ASCII \u306e\u524d\u65b9\u306e\u30b3\u30fc\u30c9\u3084\u8ddd\u96e2\u306e\u9577\u3044\u7e70\u308a\u8fd4\u3057\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u306b\u5272\u308a\u5f53\u3066\u3001<\/li>\n<li> \u6700\u5f8c\u306bASCII\u306e\u5f8c\u308d\u306e\u65b9\u306e\u6587\u5b57\u3092\u5272\u308a\u5f53\u3066\u308b\u3002<\/li>\n<\/ul>\n<p>US-ASCII \u306e\u30c6\u30ad\u30b9\u30c8\u6587\u5b57\u3067\u77ed\u3044\u9593\u9694\u3067\u306e\u7e70\u308a\u8fd4\u3057\u304c\u591a\u304f\u51fa\u308b\u3001\u666e\u901a\u306e\u82f1\u8a9e\u306e\u6587\u7ae0\u306b\u305d\u3053\u305d\u3053\u5408\u3063\u305f(\u3067\u3082\u3001\u6587\u5b57\u983b\u5ea6\u3067\u306e\u6700\u9069\u5316\u307e\u3067\u306f\u3057\u3066\u3044\u306a\u3044)\u30cf\u30d5\u30de\u30f3\u8868\u3068\u8a00\u3048\u307e\u3059\u3002<\/p>\n<p>\u3055\u3066\u3001\u3053\u306e\u8868\u3092\u5143\u306b\u5148\u7a0b\u4f5c\u6210\u3057\u305f\u3001\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf(btype1.zlib)\u3092\u89e3\u91c8\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre lang=\"shell\">\n$ hexdump -C btype1.zlib\n00000000        0b c9 c8 2c 56 00  a2 10 d7 e0 10 00 1a e3  |x....,V.........|\n                <>\n00000010  03 f5                                             |..|\n<\/pre>\n<ul>\n<li> 0x0b \u306f2\u9032\u6570\u3067 00001011\u3001\u6700\u5f8c1\u30d3\u30c3\u30c8\u306e 1(\u6700\u5f8c\u306e\u30d6\u30ed\u30c3\u30af)\u3068\u305d\u306e\u624b\u524d2\u30d3\u30c3\u30c8\u306e 01 (BTYPE)\u3067\u59cb\u307e\u308a\u307e\u3059\u3002<\/li>\n<li> btype:0 \u3068\u9055\u3063\u3066\u3001\u6b8b\u308a\u306e 00001 \u306b\u3082\u610f\u5473\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u3053\u304b\u3089\u30c7\u30fc\u30bf\u306e\u59cb\u307e\u308a\u3067\u3059\u3002<\/li>\n<\/ul>\n<p>\u307e\u305a\u306f BFINAL \u3068 BTYPE \u306e 3bit \u3092\u898b\u3066\u56fa\u5b9a\u30cf\u30d5\u30de\u30f3\u306e\u30d6\u30ed\u30c3\u30af\u304c\u59cb\u307e\u308b\u306e\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<br \/>\n<center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LIT_1_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LIT_1_70per.png\" alt=\"DeflateBTYPE1_LIT_1_70per\" width=\"221\" height=\"175\" class=\"aligncenter size-full wp-image-10545\" \/><\/a><\/center><\/p>\n<h5 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_5\"> \u5143\u30c7\u30fc\u30bf\u306e\u5fa9\u5143 (\u30ea\u30c6\u30e9\u30eb)<\/h5>\n<p>\u307e\u305a 7 bits \u8aad\u307f\u3060\u3057\u307e\u3059\u3002<\/p>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LIT_2_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LIT_2_70per.png\" alt=\"DeflateBTYPE1_LIT_2_70per\" width=\"355\" height=\"155\" class=\"aligncenter size-full wp-image-10534\" \/><\/a><\/center><\/p>\n<p>7bits \u306e\u30a8\u30f3\u30c8\u30ea\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u7b26\u53f7\u306e\u7bc4\u56f2\u306b\u53ce\u307e\u3089\u306a\u3044\u306e\u3067\u3001\u66f4\u306b\u3082\u3046 1 bit \u8aad\u307f\u3060\u3057\u307e\u3059\u3002<\/p>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LIT_3_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LIT_3_70per.png\" alt=\"DeflateBTYPE1_LIT_3_70per\" width=\"416\" height=\"248\" class=\"aligncenter size-full wp-image-10546\" \/><\/a><\/center><\/p>\n<p>\u3053\u308c\u3067\u30011\u6587\u5b57\u76ee\u306e \"T\" \u304c\u53d6\u308a\u51fa\u305b\u305f\u4e8b\u306b\u306a\u308a\u307e\u3059<\/p>\n<h5 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_6\"> \u5143\u30c7\u30fc\u30bf\u306e\u5fa9\u5143 (\u7e70\u308a\u8fd4\u3057)<\/h5>\n<p>\"This is TEST\" \u306e \"is \"\u306e3\u6587\u5b57\u304c\u7e70\u308a\u8fd4\u3057\u306a\u306e\u3067\u3001\u9577\u30553\u3001\u8ddd\u96e23\u306e\u7e70\u308a\u8fd4\u3057\u3092\u8868\u3059\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u30cf\u30df\u30f3\u30b0\u7b26\u53f7\u3067\u6307\u5b9a\u3059\u308b\u4e8b\u3067\u3001\u5727\u7e2e\u7387\u3092\u4e0a\u3052\u3089\u308c\u307e\u3059\u3002<\/p>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_1_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_1_70per.png\" alt=\"DeflateBTYPE1_LEN_1_70per\" width=\"377\" height=\"145\" class=\"aligncenter size-full wp-image-10556\" \/><\/a><\/center><\/p>\n<p>\u7e70\u308a\u8fd4\u3057\u30e1\u30bf\u30c7\u30fc\u30bf\u306b\u95a2\u3059\u308b\u7b26\u53f7\u306f RFC1951 \u306e Page12 \u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre>\n     Extra               Extra               Extra\nCode Bits Length(s) Code Bits Lengths   Code Bits Length(s)\n<ul>\n<li> ---- ------     ---- ---- -------   ---- ---- -------<\/li>\n<\/ul>\n\n 257   0     3       267   1   15,16     277   4   67-82\n 258   0     4       268   1   17,18     278   4   83-98\n 259   0     5       269   2   19-22     279   4   99-114\n 260   0     6       270   2   23-26     280   4  115-130\n 261   0     7       271   2   27-30     281   5  131-162\n 262   0     8       272   2   31-34     282   5  163-194\n 263   0     9       273   3   35-42     283   5  195-226\n 264   0    10       274   3   43-50     284   5  227-257\n 265   1  11,12      275   3   51-58     285   0    258\n 266   1  13,14      276   3   59-66\n\n      Extra           Extra               Extra\n Code Bits Dist  Code Bits   Dist     Code Bits Distance\n ---- ---- ----  ---- ----  ------    ---- ---- --------\n   0   0    1     10   4     33-48    20    9   1025-1536\n   1   0    2     11   4     49-64    21    9   1537-2048\n   2   0    3     12   5     65-96    22   10   2049-3072\n   3   0    4     13   5     97-128   23   10   3073-4096\n   4   1   5,6    14   6    129-192   24   11   4097-6144\n   5   1   7,8    15   6    193-256   25   11   6145-8192\n   6   2   9-12   16   7    257-384   26   12  8193-12288\n   7   2  13-16   17   7    385-512   27   12 12289-16384\n   8   3  17-24   18   8    513-768   28   13 16385-24576\n   9   3  25-32   19   8   769-1024   29   13 24577-32768\n<\/pre>\n<ul>\n<li> \u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u306b\u5fdc\u3058\u3066\u3001\u7e70\u308a\u8fd4\u3057\u306e\u9577\u3055\u304c\u5b9a\u7fa9\u3055\u308c\u307e\u3059\u3002<\/li>\n<li> \u7e70\u308a\u8fd4\u3057\u306e\u9577\u3055\u304c\u9577\u3044(11\u4ee5\u4e0a\u306e)\u5834\u5408\u306f\u3001\u305d\u306e\u9577\u3055\u306b\u5fdc\u3058\u3066\u8ffd\u52a0\u306e\u9577\u3055\u3092\u5165\u308c\u308b\u30d5\u30a3\u30fc\u30eb\u30c9(Extra Bits)\u3092\u7528\u610f\u3057\u307e\u3059\u3002<\/li>\n<li> \u7d9a\u304f5bits \u306b\u7e70\u308a\u8fd4\u3057\u958b\u59cb\u307e\u3067\u306e\u8ddd\u96e2\u304c\u5165\u308a\u307e\u3059\u3002<\/li>\n<li> \u7e70\u308a\u8fd4\u3057\u306e\u8ddd\u96e2\u304c\u9060\u3044(11\u4ee5\u4e0a\u306e)\u5834\u5408\u306f\u3001\u305d\u306e\u8ddd\u96e2\u306b\u5fdc\u3058\u3066\u8ffd\u52a0\u306e\u8ddd\u96e2\u3092\u5165\u308c\u308b\u30d5\u30a3\u30fc\u30eb\u30c9(Extra Bits)\u3092\u7528\u610f\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n<p>\u30d0\u30a4\u30ca\u30ea\u69cb\u6210\u3068\u3057\u3066\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li> Huffman Code (Length)<\/li>\n<\/ul>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_2_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_2_70per.png\" alt=\"DeflateBTYPE1_LEN_2_70per\" width=\"278\" height=\"215\" class=\"aligncenter size-full wp-image-10559\" \/><\/a><\/center><\/p>\n<ul>\n<li> Distance Code<\/li>\n<\/ul>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_3_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_3_70per.png\" alt=\"DeflateBTYPE1_LEN_3_70per\" width=\"290\" height=\"218\" class=\"aligncenter size-full wp-image-10560\" \/><\/a><\/center><\/p>\n<p>\u3067\u306f\u3001\u5b9f\u969b\u306e\u30c7\u30fc\u30bf(\"is \" \u306e\u7e70\u308a\u8fd4\u3057)\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre>\n$ hexdump -C btype1.zlib\n00000000        0b c9 c8 2c 56 00  a2 10 d7 e0 10 00 1a e3  |x....,V.........|\n                <>\n00000010  03 f5                                             |..|\n<\/pre>\n<p>\u7e70\u308a\u8fd4\u3057\u306e\u3042\u308b\u5834\u6240\u307e\u3067\u8abf\u3079\u308b\u306e\u304c\u9762\u5012\u306a\u306e\u3067\u3001\u30c4\u30fc\u30eb\u306b\u983c\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li>\n IO_Zlib<\/p>\n<ul>\n<li> <a href=\"http:\/\/openpear.org\/package\/IO_Zlib\">http:\/\/openpear.org\/package\/IO_Zlib<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u3053\u308c\u306f pure PHP \u3067 Zlib \u3092\u89e3\u91c8\u3059\u308b\u30c4\u30fc\u30eb\u3067\u3059\u304c\u3001\u3053\u308c\u306e dump \u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f7f\u3046\u3068\u3001\u5404\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u304c Zlib \u30d0\u30a4\u30ca\u30ea\u4e2d\u306e\u4f55\u51e6\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u5b58\u5728\u3059\u308b\u306e\u304b\u5206\u304b\u308a\u307e\u3059\u3002<\/p>\n<pre lang=\"shell\">\nIO_Zlib$ php sample\/zlibdump.php  btype1.zlib\nCMF:78(CINFO=7 CM=8) FLG:0x9C(FLEVEL=2 FDICT=0 FCHECK=28)\n(BFINAL)=1 BTYPE:1\n[000000] 54(T) (offset:0x02.03 bitlen:8)\n[000001] 68(h) (offset:0x03.03 bitlen:8)\n[000002] 69(i) (offset:0x04.03 bitlen:8)\n[000003] 73(s) (offset:0x05.03 bitlen:8)\n[000004] 20( ) (offset:0x06.03 bitlen:8)\n[000005] Length:3 LengthExtend:0 Distance:3 DistanceExtend:0 (offset:0x07.03 bitlen:12)\n[000008] 54(T) (offset:0x08.07 bitlen:8)\n[000009] 45(E) (offset:0x09.07 bitlen:8)\n[00000a] 53(S) (offset:0x0a.07 bitlen:8)\n[00000b] 54(T) (offset:0x0b.07 bitlen:8)\n(Terminate) (offset:0x0c.07 bitlen:7)\nADLER32:451085301\n<\/pre>\n<p>\u3053\u308c\u3092\u4fe1\u3058\u3066 (0\u30aa\u30ea\u30b8\u30f3\u306e) 7 bytes \u76ee\u306e 3bits \u76ee\u304b\u3089\u5206\u89e3\u3057\u307e\u3059\u3002<\/p>\n<ul>\n<li> \u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u304c 0x257 \u306a\u306e\u3067\u7e70\u308a\u8fd4\u3057\u306e\u9577\u3055\u304c 3 \u3060\u3068\u5206\u304b\u308a\u307e\u3059\u3002<\/li>\n<\/ul>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_4_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_4_70per.png\" alt=\"DeflateBTYPE1_LEN_4_70per\" width=\"418\" height=\"240\" class=\"aligncenter size-full wp-image-10564\" \/><\/a><\/center><\/p>\n<ul>\n<li> \u7d9a\u304f 5 bits \u3092\u898b\u308b\u3068\u3001\u8ddd\u96e2\u304c 3 \u3060\u3068\u5206\u304b\u308a\u307e\u3059\u3002<\/li>\n<\/ul>\n<p><center><a href=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_5_70per.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/labs.gree.jp\/blog\/wp-content\/uploads\/2014\/01\/DeflateBTYPE1_LEN_5_70per.png\" alt=\"DeflateBTYPE1_LEN_5_70per\" width=\"328\" height=\"242\" class=\"aligncenter size-full wp-image-10570\" \/><\/a><\/center><\/p>\n<p>\u3053\u306e\u4f8b\u3067\u306f\u3001Extra Bits \u3092\u4f7f\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u3088\u308a\u9577\u3044\u9577\u3055\u3001\u9060\u3044\u8ddd\u96e2\u3060\u3068\u5fc5\u8981\u306b\u306a\u308a\u3001\u4e0a\u306e\u65b9\u3067\u8aac\u660e\u3057\u305f\u3088\u3046\u306b Extra Bits \u306b\u5165\u3063\u3066\u3044\u308b\u5024\u3092\u8db3\u3057\u3066\u88dc\u6b63\u3057\u307e\u3059\u3002<\/p>\n<h5 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_7\"> BTYPE1 \u306e\u307e\u3068\u3081<\/h5>\n<ul>\n<li>\n \u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u3092\u89e3\u91c8\u3057\u3066\u4ee5\u4e0b\u306e3\u3064\u306b\u5206\u5225\u3057\u307e\u3059\u3002<\/p>\n<ul>\n<li>  \u30ea\u30c6\u30e9\u30eb(0\uff5e255) => \u5143\u30c7\u30fc\u30bf\u305d\u306e\u3082\u306e<\/li>\n<li>  \u7d42\u7aef\u8a18\u53f7(256) => Deflate \u30d6\u30ed\u30c3\u30af\u306e\u7d42\u7aef<\/li>\n<li>  \u9577\u3055(257\uff5e285) => \u7e70\u308a\u8fd4\u3057\u30d1\u30bf\u30fc\u30f3\u306e\u9577\u3055<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\n \u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u304c\u9577\u3055\u3092\u8868\u3059\u5834\u5408<\/p>\n<ul>\n<li>  \u9577\u3055\u304c 3\uff5e10(\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u306f 257\uff5e264)\u306e\u5834\u5408\u306f\u3001\u305d\u306e\u5024\u3092\u305d\u306e\u307e\u307e\u9577\u3055\u3068\u3057\u3066\u4f7f\u3046<\/li>\n<li>  \u9577\u3055\u304c 11\u4ee5\u4e0a(\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u306f 265\uff5e285)\u306e\u5834\u5408\u306f\u3001\u66f4\u306b\u5f8c\u308d\u3092\u6570bits\u8aad\u307f\u3060\u3057\u3066\u3001\u305d\u308c\u3092\u8db3\u3057\u305f\u5024\u3092\u9577\u3055\u306b\u3057\u307e\u3059<\/li>\n<\/ul>\n<\/li>\n<li>\n \u8ddd\u96e2\u30d5\u30a3\u30fc\u30eb\u30c9(5bits)<\/p>\n<ul>\n<li>  \u8ddd\u96e2\u304c 0~3 \u306e\u5834\u5408\u306f\u3001\u305d\u306e\u5024\u3092\u305d\u306e\u307e\u307e\u8ddd\u96e2\u3068\u3057\u3066\u4f7f\u3046<\/li>\n<li>  \u8ddd\u96e2\u304c 4\u4ee5\u4e0a\u306e\u5834\u5408\u306f\u3001\u66f4\u306b\u5f8c\u308d\u3092\u6570bits\u8aad\u307f\u3060\u3057\u3066\u3001\u305d\u308c\u3092\u8db3\u3057\u305f\u5024\u3092\u8ddd\u96e2\u306b\u3057\u307e\u3059<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\n \u30d3\u30c3\u30c8\u3092\u305d\u306e\u307e\u307e\u306e\u4e26\u3073\u3067\u5024\u3068\u3057\u3066\u89e3\u91c8\u3059\u308b\u6642\u3068\u3001\u9006\u3055\u306b\u3057\u3066\u89e3\u91c8\u3059\u308b\u6642\u304c\u3042\u308a\u307e\u3059\u3002\u898f\u5247\u306f\u6b63\u76f4\u5206\u304b\u308a\u307e\u305b\u3093\u3002\u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u304c\u9006\u9806\u306a\u306e\u306f\u59a5\u5f53\u3067\u3059\u304c\u30015 bits \u56fa\u5b9a\u306e\u9577\u3055\u30d5\u30a3\u30fc\u30eb\u30c9\u3082\u9006\u9806\u3067\u3001\u305d\u306e\u62e1\u5f35\u30d3\u30c3\u30c8\u306f\u6b63\u9806\u3002\u6574\u7406\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<ul>\n<li>  \u30d3\u30c3\u30c8\u6b63\u9806 => BTYPE \u306e 2 bits\u3001\u9577\u3055\u62e1\u5f35\u30d5\u30a3\u30fc\u30eb\u30c9\u3001\u8ddd\u96e2\u62e1\u5f35\u30d5\u30a3\u30fc\u30eb\u30c9\u3002<\/li>\n<li>  \u30d3\u30c3\u30c8\u9006\u9806 => \u30cf\u30d5\u30de\u30f3\u7b26\u53f7\u3001\u8ddd\u96e2\u30d5\u30a3\u30fc\u30eb\u30c9(5 bits)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_8\"> \u6b21\u56de\u4e88\u544a<\/h3>\n<h4 id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_header_9\"> BTYPE:2 \u52d5\u7684\u30cf\u30d5\u30de\u30f3<\/h4>\n<p>\u3088\u308a\u9ad8\u3044\u30c7\u30fc\u30bf\u306e\u5727\u7e2e\u7387\u3092\u6c42\u3081\u308b\u306a\u3089\u3070\u3001\u305d\u306e\u30c7\u30fc\u30bf\u306b\u5fdc\u3058\u305f\u9069\u5207\u306a\u30cf\u30d5\u30de\u30f3\u8868\u304c\u5fc5\u8981\u3067\u3059\u3002<br \/>\n\u3053\u306e\u52d5\u7684\u30cf\u30d5\u30de\u30f3\u65b9\u5f0f\u3067\u306f\u3001\u5143\u30c7\u30fc\u30bf\u3092\u89e3\u6790\u3057\u3066\u9069\u5207\u306a\u30cf\u30d5\u30de\u30f3\u8868\u3067\u5727\u7e2e\u3092\u884c\u3044\u3001\u305d\u306e\u30cf\u30d5\u30de\u30f3\u8868\u3092\u5148\u982d\u306b\u3064\u3051\u308b\u30c7\u30fc\u30bf\u69cb\u9020\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u3053\u3061\u3089\u306f\u6700\u7d42\u56de\u306b\u5f53\u305f\u308b Zlib \u4f38\u9577\u89e3\u8aac\u306e\u5f8c\u7de8\u3067\u89e3\u8aac\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>\n<div class=\"footnote\">\n<p id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_footnote_1\"><a href=\"#hs_2fdc7ff6713aff77631eae29cffc2d8a_footnotelink_1\">*1<\/a>: gzip \u30d8\u30c3\u30c0\u3082\u8fbc\u307f\u3067\u6b32\u3057\u3044\u5834\u5408\u306f gzencode \u3001zlib \u306e\u30d8\u30c3\u30c0\u7121\u3057\u3067 deflate \u30b9\u30c8\u30ea\u30fc\u30e0\u3060\u3051\u6b32\u3057\u3044\u5834\u5408\u306f gzdeflate \u304c\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059<\/p>\n<p id=\"hs_2fdc7ff6713aff77631eae29cffc2d8a_footnote_2\"><a href=\"#hs_2fdc7ff6713aff77631eae29cffc2d8a_footnotelink_2\">*2<\/a>: \u3044\u308f\u3086\u308b 1\u306e\u88dc\u6570\u3067\u3059\u3002\u4e00\u822c\u306b\u8ca0\u306e\u8868\u73fe\u3067\u3088\u304f\u4f7f\u308f\u308c\u308b 2\u306e\u88dc\u6570\u3067\u306f\u306a\u3044\u3067\u3059\u3002<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u3088\u3084\u3068\u7533\u3057\u307e\u3059\u3002\u3053\u3093\u306b\u3061\u308f\u3002 \u4eca\u56de\u306f zlib \u89e3\u8aac\u306e\u4e2d\u7de8\u3067\u3059\u3002\u524d\u7de8\u306f\u3053\u3061\u3089 \u2193 http:\/\/labs.gree.jp\/blog\/2012\/01\/4082\/ SWF\u30d0\u30a4\u30ca\u30ea\u7de8\u96c6\u306e\u30b9\u30b9\u30e1\u756a\u5916\u7de8 (zlib \u4f38\u5f35) \u524d\u7de8  [&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":[],"tags":[18],"class_list":["post-4530","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-flash"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/4530","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=4530"}],"version-history":[{"count":3,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/4530\/revisions"}],"predecessor-version":[{"id":10732,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/posts\/4530\/revisions\/10732"}],"wp:attachment":[{"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/media?parent=4530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/categories?post=4530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labs.gree.jp\/blog\/wp-json\/wp\/v2\/tags?post=4530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}